Slashdot Mirror


Ask Slashdot: Open Source vs Proprietary GIS Solution?

New submitter rnmartinez writes "As the Project Manager for a non-profit looking to implement a tech project, I am running into a few dilemmas, and as a casual Slashdotter I could really use some help. I'll start with a brief explanation of the project. We research issues in Canadian Immigrants, and found that there was a lack of recent, unaggregated information. As we dug further, we found that some data was available, but there was no central repository. Therefore, we are building a web based service to collect this data, with the intent of having it display in Google Maps and then be downloadable as a CSV file that is readable in GIS software such as ESRI Arcsoft, so that data may be visualized." The dilemma: "...It seems that MS SQL offers more functions with regards to geometry built in then MySQL, and my developers (good guys, but MS guys at heart) want me to switch to .net NUKE/MSSQL and ditch the open source stuff." Read on for further details. "To date, we have relied on a LAMP box with Drupal as the frontend to help provide a more social experience. However, it seems that MS SQL offers more functions with regards to geometry built in then MySQL, and my developers (good guys, but MS guys at heart) want me to switch to .net NUKE/MSSQL and ditch the open source stuff. As a believer in open source and as a non-profit, I am having some moral issues with this (I try and run Linux and open source on everything I reasonably can)."

"So here is my dilemma: do I dump $20K into moving everything to an MS solution that in the short-medium term might make the geometry functions (i.e. show me all the hospitals within a 20km radius of this cluster of immigrants) or do I get him to spend the same amount writing something similar for MySQL? The only issue there, is that I am not too fond of Oracle having ownership of MySQL. Should I be directing $20K into replicating these functions into something like MariaDB? Might be a longshot but again, as a non-profit I'd like to see something go back to everyone, not just my group."

"Really, I am open to any flexible, creative open and reliable solutions. Sorry if my knowledge is limited or if I am grasping at straws, and if I am being terribly biased, but I trust Oracle with open source about as much as I trust MS."

MySQL might fare poorly against MSSQL's geometry support, but how does PostgreGIS stack up?

316 comments

  1. Some free resources by techtech · · Score: 5, Informative
    1. Re:Some free resources by Anonymous Coward · · Score: 0

      Postgis is the sensible option but for a more lightweight solution (depends on your table size) maybe checkout SpatialLite [http://www.gaia-gis.it/gaia-sins/] - the spatially enabled version of sqlite.

    2. Re:Some free resources by rnmartinez · · Score: 1

      Thanks! Any data sources like these are always helpful :-)

    3. Re:Some free resources by s.petry · · Score: 1

      I know I'm late to the game, but when you say you are going to dump 20K in to MSSQL, I hope you realize that the 20K is a down payment, and you won't get much for it. You also need to consider AV solutions on your Windows Servers which you probably don't have with Linux, as well as the additional licenses you need for the Windows servers. My last assignment, they ran 2 Win2K8 servers and MSSQL in HA mode. Annual licensing to just MS was double what you mention with ease.

      Stick with Linux and OpenSource, and find Dev's that are not prone to move everything to Microsoft when they fail to perform tasks. A lot of the time, that's what it boils down to.

      --

      -The wise argue that there are few absolutes, the fool argues that there are no probabilities.

  2. Other solutions? by Anonymous Coward · · Score: 1

    There are other solutions you may want to look into. Solr has decent geography support and is built to be a search system.

  3. MS SQL is better by wasabii · · Score: 1, Redundant

    MS SQL is a better product, all around. Both as an engine, and the management UI. The integrated security features, integrated XML support, and of course the GIS functions.

    But it costs money.

    Cost benefit, dude. That's all there is to it.

    1. Re:MS SQL is better by Grishnakh · · Score: 2, Interesting

      I say pay whatever it takes to switch everything to MS-only technologies, since your developers prefer that. Then, to make the budget work out, cut all their paychecks by that same amount. (Actually, you should cut their paychecks by quite a bit more, since you have to account for the continual license fees needed, and the fact that some of them may quit.)

      Or offer them the choice between this and doing something lower cost that works as well and doesn't require continual license fees.

    2. Re:MS SQL is better by fuzzytv · · Score: 1

      Better than what? And why is the XML stuff important (the original poster did not mention that at all)?

    3. Re:MS SQL is better by ShnowDoggie · · Score: 3, Insightful

      What if they actually save money by being more productive?

    4. Re:MS SQL is better by jellomizer · · Score: 2

      Umm there is a cost to retrain your developrs to use new tools. If the developers like .net it is probably worth a few K to give them the tools to do what they need. .NET doesn't suck neither does MS SQL (Microsoft has upped its game in product quality the last few years). The time and cost of finding an appropriate Open Source tool and get your coders up to speed will more often then not be more expensive then using the first decent solution that is available and liked by your staff.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    5. Re:MS SQL is better by Grishnakh · · Score: 1

      Others here have already pointed out which components to use (PostgreSQL and PostGIS) to use to do what the Asker wanted. Why chain yourself to yearly expensive license costs when there's much cheaper stuff available that's just as good? It's not like he's trying to do WinPhone7 development or .NET development or Outlook/Exchange or something else where MS stuff is obviously the way to go.

      If the MS stuff is really that much more productive (I doubt it), then what the heck does he need all these MS-fan engineers for? Maybe he should lay some of them off.

    6. Re:MS SQL is better by Grishnakh · · Score: 1

      From what I'm reading here, this is really about putting existing tools into place, namely a database with GIS extensions. There's no cost difference involved here either way; every SQL database in existence uses approximately the same language, and can be accessed from any application program, since SQL is, after all, a standard (with proprietary extensions, but again, those don't matter since you can write your application to use them). For instance, if you want to write a .NET application that accesses a PostgreSQL database, there's nothing stopping you, and nothing that's going to make it easier than writing your application to access a MSSQL database. And vice-versa; you can write a Qt/C++ program (or whatever) running on Linux which accesses a MSSQL database.

      So if the database and GIS portion are basically modules you can buy or download, why bother buying the expensive MS (or Oracle) ones, when you can just use PostgreSQL and PostGIS instead, assuming they work as well? As a bonus, you can run your database server on Linux instead of Windows, which isn't possible with MSSQL (though it is with Oracle). Then, if the devs want to write C#/.NET code to access this, they can do so.

    7. Re:MS SQL is better by justforgetme · · Score: 1

      I long for the day when windows guys will be relevant only for windows desktop development. But as long as Microsoft is still having a stranglehold on most comp sci degrees by offering free everything to the students I only see more and more boys coming and applying for a job as web devs believing that Microsoft products are a suitable solution. ...I'm sad now.

      --
      -- no sig today
    8. Re:MS SQL is better by Anonymous Coward · · Score: 1

      Try solving thousands/second nearest neighbor problems on datasets in the millions on MS SQL Spatial and compare the same with PostGIS. PostGIS is both faster and a fuck all cheaper to scale out across many cores.

    9. Re:MS SQL is better by justforgetme · · Score: 0

      yes, right. Now they just have to wait to 2013 when a windows server will come out that won't have a GUI overhead

      --
      -- no sig today
    10. Re:MS SQL is better by Anonymous Coward · · Score: 1

      Microsoft has upped its game in product quality the last few years

      No it hasn't, it's still on the "ignore the bugs, pile on more features" band wagon.

      eg: SQL Server Reporting Services has had the same bug in its CSV renderer since its original release with SQL 2000... in Microsoft.ReportingService.Rendering.DataRenderer.CsvVisitor.FormatValue() you'll see the following line of code:

      value.Replace(this.m_qualifier, this.m_qualifier + this.m_qualifier);

      One little line of noob code which means that it can't properly escape field values that contain the qualifier character because they forgot to assign the result of Replace() back into value. They still can't fix it even after logging bug reports including the offending line of code for every version of SQL Server since then.

    11. Re:MS SQL is better by Anonymous Coward · · Score: 0

      As a non-profit, you can probably qualify for massive Microsoft discounts anyway. Last I checked, charities got 80% or more discount on Microsoft putting a SQLServer Standard license at about $200 rather than $1000+

      Also, if you're going to be running it as a web service going forward, using MSSQL now will make it easier to simply migrate to Azure cloud services...

    12. Re:MS SQL is better by Anonymous Coward · · Score: 0

      You do realize Server Core has been around, for what, three years already? Perhaps you should come out of the basement more...

    13. Re:MS SQL is better by Bert64 · · Score: 1

      It seems the developers are already successfully using the current (mysql/drupal) setup...

      To move to mssql and .net would basically require ripping all this out and replacing it, so you have not only the license costs but also the costs to replicate any existing functionality before you can even consider implementing the new functionality thats required.

      Also if you go MS then your application will be locked in, being locked in and beholden to a third party is not a good situation to be in. Just ask all the people who invested resources developing silverlight apps based on the promises MS made when it was first released.

      There are also factors we haven't been made aware of, such as how long is this project intended to run for, is it likely to grow and need to scale to more machines (and thus incur more licensing costs if using expensive software)...

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    14. Re:MS SQL is better by justforgetme · · Score: 1

      It has? Sorry, it's closer to a decade since I lost interest in Microsoft server products and for what I know they haven't managed to come up with something comparable to a Linux/BSD server anyway, so I pretty much ignore them.

      --
      -- no sig today
    15. Re:MS SQL is better by gbjbaanb · · Score: 1

      if you want to write a .NET application that accesses a PostgreSQL database, there's nothing stopping you

      except there are some non-standard SQL extensions that Microsoft has lovingly developed. If you use the Entity Framework for example, you will find that complex queries start to automatically use these invalid clauses and your code will suddenly stop working on all but SQLServer DBs.

      But yes, I agree - get Postgresql instead and use that, there's no need to use hugely expensive DBs nowadays unless you really need really really big DBs (and then you'll be buying Oracle)

    16. Re:MS SQL is better by gparent · · Score: 1

      I only see more and more boys coming and applying for a job as web devs believing that Microsoft products are a suitable solution. ...I'm sad now.

      Mainly because it is? What do you think Stackoverflow runs on? I mean obviously not all developers are equal (and this is the same for non-MS solutions, don't kid yourself), but the Windows stack is proven to work for web technologies assuming it's done right.

    17. Re:MS SQL is better by godefroi · · Score: 1

      And furthermore, using .NET doesn't tie you to MSSQL, any more than using MSSQL ties you to .NET.

      I've got a major line-of-business application here (handles millions of transactions per day around the world) that happily runs on MSSQL, Postgres, MySQL, and SQLite (ranked in order of performance there, FYI).

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    18. Re:MS SQL is better by godefroi · · Score: 1

      except there are some non-standard SQL extensions that Microsoft has lovingly developed.

      I'm not aware of a single database engine that complies with the SQL standard, and even if they did, the standard is vague and ambiguous. There are whole concepts the standard doesn't cover. The fact that a database engine has "extensions" isn't an argument for or against that engine, because that's how the SQL world works.

      By the way, the "Entity Framework" isn't a SQL extension, and it isn't related to MSSQL. It's an ORM, just like Hibernate, ActiveRecord, or a bajillion others.

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    19. Re:MS SQL is better by godefroi · · Score: 3, Insightful

      If you ignore them, and you admit you're ignorant when it comes to them, why are you commenting on them, and providing advice regarding them? Maybe you'd be better off providing advice regarding platforms you're knowledgeable about?

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    20. Re:MS SQL is better by AaronLS · · Score: 1

      EF will work with other database engines if you use the correct provider.

    21. Re:MS SQL is better by AaronLS · · Score: 1

      If it were up to these guys, every end user would be using command prompts, just so they can feel superior to their users. Having thrown usability and intuitive interfaces out the window, work would grind to a halt as everyone spends all there time deciphering half written man pages because their admin refuses to help them anymore than saying RTFM.

    22. Re:MS SQL is better by godefroi · · Score: 1

      I think you're making judgement calls, there. I've used many, many highly usable command-line interfaces. I use command-line interfaces all day, every day, even though most of my work is done on Windows.

      You're making the same mistake he did. You're discounting the other side, simply because you do not agree with it or one of its proponents.

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    23. Re:MS SQL is better by justforgetme · · Score: 0

      The fact that I ignore them does not make me ignorant.
      Please don't try to counter or mutate my proposition by using high school debating techniques

      ... and you admit you're ignorant ... Maybe you'd be better off providing advice regarding platforms you're knowledgeable about?

      If you have something productive to discuss to:

      they (Microsoft) haven't managed to come up with something comparable to a Linux/BSD server anyway

      Then please do so.

      --
      -- no sig today
    24. Re:MS SQL is better by justforgetme · · Score: 1

      IIRC the subject is servers; not desktop and creativity environments. :-)

      --
      -- no sig today
    25. Re:MS SQL is better by godefroi · · Score: 1

      ... it's closer to a decade since I lost interest in Microsoft server products ... so I pretty much ignore them.

      Do you have some magical way to stay current on a topic, and ignore it at the same time? If you do, I think you're on to something, and you ought to look into selling it.

      comparable to a Linux/BSD server

      I suspect that we would disagree on what "comparable" means, so I'm not really interested in that debate.

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    26. Re:MS SQL is better by gbjbaanb · · Score: 1

      Ok, I meant "client tool", EF was just the one we had most problems with as it decided what SQL to use, and we couldn't get it to stick to the standard.

      I'm fine with the DB having extensions you can choose to use (or not), it's a different matter if your client tool makes that choice for you. Once EF decides to use a cross apply clause, it stops being a DB-independant tool and starts being a SQLServer only one.

    27. Re:MS SQL is better by justforgetme · · Score: 1

      Do you have some magical way to stay current on a topic, and ignore it at the same time?

      I am equipped with sensors that allow me to draw informations from my environment, through optical and acoustic measurements. I have an understanding of basic reasoning and am capable of distinguishing patterns amongst continuous or fragmented input. I have access to a web of interconnected computers that allow me to enrich, verify and share my knowledge.

      While I know that all of that is not a great feat it might be enough to elucidate your image of me.
      If on the other hand you are puzzled by my use of the verb "ignore" in conjunction with your implication that I am "ignorant", please remember that me avoiding to acknowledge or notice news about a topic doesn't guarantee that I won't have to deal with it through my environment.

      --
      -- no sig today
    28. Re:MS SQL is better by godefroi · · Score: 1

      So stop using EF and start using database-independent tools!

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    29. Re:MS SQL is better by AaronLS · · Score: 1

      You are right, I am making judgement calls, based on my experiences with these types of people, both personally and on the internet. That was the whole point of my post, was to point out their elitist and extremist tendencies along with their disdain of users, instead of putting themselves in the shoes of users. It is apparent from their childish comments that they live to insult others and place themselves on a higher pedestal.

  4. Checkout PostGIS by hakioawa · · Score: 5, Insightful

    It is far superior to MySQL geographic types. I'm partial to MSSQL, but PostGIS is a close second.

    1. Re:Checkout PostGIS by jtnix · · Score: 5, Informative

      I was going to recommend PostgreSQL as your DBMS as it has plenty of spatial and geometric data types and corresponding functions, although I have never used PostGIS and can't vouch for it.

      However, if your devs want to use MS tech, I don't think you are in a position to strong-arm them into something they are not comfortable. Not unless you are comfortable with sourcing an entirely new dev team who wants to do it your way.

      --
      She blinded me with science, she tricked me with technology. ~ Thomas Dolby
    2. Re:Checkout PostGIS by hakioawa · · Score: 2, Informative

      Another option is SQL Azure. You get most of the features of on prem SQL Sever, but billed monthly. If you are storing a reatively small amount of data (~10GB or so) it is pretty cheap and get 99.9% up time with littl to no effort.

    3. Re:Checkout PostGIS by Anonymous Coward · · Score: 1

      I'd highly recommend benchmarking your solution on MSSQL and PostGIS, determine how much CPU you need to scale out and then factor in the licensing costs for each product. At my job we're switching to PostGIS because it's 3x faster for our particular spatial problem, and the licensing cost is hard to beat.

    4. Re:Checkout PostGIS by Anonymous Coward · · Score: 3, Informative

      PostGIS+PostgreSQL+QuantumGIS

      If you need professional quality maps you'll need to dump your layers to Inkscape via .svg and edit by hand.

      Works for me.

    5. Re:Checkout PostGIS by Grishnakh · · Score: 0, Troll

      It's easy: just offer them the choice between MS tech and something else. With the latter, they keep their current paychecks, and maybe get a raise if they do a good job. If they choose the former, then they get a giant pay cut to pay for the MS licenses. Ask them where their loyalty lies: if they like MS so much, then they should be happy to give part of their pay to them.

      And if you, the boss, prefers open-source solutions, maybe you need to do a better job in hiring people that agree with you.

    6. Re:Checkout PostGIS by Anonymous Coward · · Score: 1

      I don't know how it works in the OP's country, but in most industrialized nations you'll find that making significant negative changes to compensation and position requirements post-hire is going to likely result in litigation.

    7. Re:Checkout PostGIS by Anonymous Coward · · Score: 1

      Of just fire one or more engineers.

      Since you're using expensive tools you don't need that much manpower.

    8. Re:Checkout PostGIS by Anonymous Coward · · Score: 0

      Funny, I do the same thing to the freetards at work.

      Just kidding. You're still a fucking idiot, though.

    9. Re:Checkout PostGIS by Braedley · · Score: 1

      I'm with ^. We use Postgres in association with dynamic location data and haven't had any major issues. We haven't integrated PostGIS, but have definitely contemplated it, as it would make many of our queries an order of magnitude easier to write and (at least from what I hear) wouldn't compromise on speed when post query filtering is also accounted for. The only reason we haven't done it is that we haven't had the time and budget to make sure it was bullet proof, and we've been able to make do without the finer control offered by PostGIS. I believe another project in my office has been using PostGIS, and as far as I can tell, it's been paying off for them. While we're generally happy with a flat earth NW to SE bounding box, this other project needs much finer control for determining if a point is within an area.

    10. Re:Checkout PostGIS by FilthCatcher · · Score: 1

      I'll second this combination.

      We actually looked into getting Mapinfo but the licensing costs were heading into tens of thousands and that's before getting any actual map tiles.
      Happily using Quantum GIS. This has a plugin that can save shapes directly into a Postgis column.
      Postgis took a little patience the first time I installed - I'm running postgres 9.0 on centos 5.4 which requires third-party repository so had to do a few steps by hand - a more recent distro may be easier.
      We're using it to map a bunch of franchise areas and redirect new customers after a geolocation lookup.

    11. Re:Checkout PostGIS by Grishnakh · · Score: 1

      Huh? I don't know about where you are or the OP's country, but here in the USA (home of Silicon Valley), people get pay cuts all the time when companies hit hard times. It doesn't happen all that often I guess, since usually they just lay people off, but it happens often enough.

      The other responder also had a good idea: fire some of the engineers, as these wonderful tools should make it so you don't need so much manpower. Tell them they'll have a lottery to decide who gets the ax.

      I think the boss should just fire the lot of them, one by one, and bring in open-source-competent replacements. Other posters here have already shown him exactly how to do what he wants with open-source tools (namely PostgreSQL and PostGIS), now he just needs to build a team that isn't going to sabotage his efforts.

    12. Re:Checkout PostGIS by Dreben · · Score: 5, Informative

      MS SQL does not adhere to the OGC's (Open Geospatial Consortium) Types & Features v. 1.1 specification. If you're serious about storing spatial data in an RDBMS it should adhere to that standard. Highly recommend staying away from SQL Server unless you're willing to invest in ESRI's SDE app server, and with PostgreSQL/PostGIS why even bother?

    13. Re:Checkout PostGIS by KingMotley · · Score: 2
    14. Re:Checkout PostGIS by Anonymous Coward · · Score: 0

      OGC does not list SQL Server as compliant regardless what Codeplex says...
        http://www.opengeospatial.org/resource/products/byspec

      Vendors can say whatever they want, but if OGC doesn't list a product as compliant, its not recognized as so.

    15. Re:Checkout PostGIS by Anonymous Coward · · Score: 0

      If you check out the products that OGC lists as compliant, you'll find there are no Microsoft products listed by themselves. You could add an app server on top I suppose, but when you consider the licensing costs after the fact, why not just implement PostgreSQL/PostGIS and be done with it. Save your money for beer. http://www.opengeospatial.org/resource/products/byspec

    16. Re:Checkout PostGIS by Dreben · · Score: 2

      According to OGC's list of compliant products, no Microsoft products comply with the Simple Features: Types and Functions v.1.1 specification...
      http://www.opengeospatial.org/resource/products/byspec ...regardless what codeplex says. OGC has a fairly rigorous specifications test.

    17. Re:Checkout PostGIS by Dreben · · Score: 1

      After digging a bit deeper, now I see what you're saying, HOWEVER, this small scale development effort (1 developer, 12 followers) is apparently only available for SQL 2005 because only 2005 supports .NET CLR integration.

      As someone that has been building spatial apps for 20 years, that means run away as fast as you can. Additionally, there is zero support for this implementation and OGC still doesn't recognize it. If I had a bunch of extra time and SQL Server '05 hanging around I might try it sometime, but in a production environment...? Why bother? Refractions offers great support and PostGIS is so widely used, there is a large user base to draw from.

      I suspect your one of the developers for this project and commend you for the effort, but I have to ask "why" build an open source implementation on a closed platform?

    18. Re:Checkout PostGIS by KingMotley · · Score: 2

      Actually, SQL 2005 was the first version of SQL Server that supported .NET CLR. It should also run on 2008, 2008R2, and 2012.

      OGC recognizes, it. It is even listed on their website, and no I'm not one of the developers.

    19. Re:Checkout PostGIS by KingMotley · · Score: 1
    20. Re:Checkout PostGIS by KingMotley · · Score: 1

      You do realize that the OGC is really run by refractions research, a super small company that's only 25 people, of which only 4-5 are likely developers? Doesn't sound all that much better TBH. In both cases you have very limited backing. IMHO, I'd probably use either MSSQL's geospacial types which likely cover what the vast majority of people need from them, and then use .NET CLR if necessary to add any additional functionality that you want. For this place anyhow.

      If the developers were an Oracle shop, then I'd recommend using one of Oracles smaller DB systems that supported their geospacial libraries. Most people don't need more than storing, retrieving, finding the distance between 2 points, and finding all records withing x miles/feet of a specific point. For MSSQL that would be building an index on the geospacial type. I assume Oracle has similar functionality. Both of which are backed by companies that aren't going to go under any time soon, have tens of thousands of users, and are likely to get upgraded support/bug fixes in a timely manner.

    21. Re:Checkout PostGIS by Dreben · · Score: 1

      Good to know, thanks.

    22. Re:Checkout PostGIS by Dreben · · Score: 1

      OGC is a bit more than Refractions. Paul was a relative late comer to the party. When OGC first started in '94 there were very few of us. Dave Schell, Fred Limp, John Davidson (I was @Genasys) and a few others.. I don't believe Refractions was even formed until '98 and Postgis, their first entry into the open geospatial world wasn't released until 2001. Today, OGC has about 490 members, most of them companies, though a few individuals.

    23. Re:Checkout PostGIS by Anonymous Coward · · Score: 0

      Who gives a fuck if it does the job.

    24. Re:Checkout PostGIS by rnmartinez · · Score: 1

      Ok our webhost does mysql - I'll have to see if they can offer us PostgreSQL

    25. Re:Checkout PostGIS by rnmartinez · · Score: 1

      Thanks so much - I really appreciate the positive feedback here. It's good to know about these standards, PostgreSQL is looking like a winner.

    26. Re:Checkout PostGIS by godefroi · · Score: 1

      Why not PostgreSQL/PostGIS and .NET/C#? Using .NET doesn't tie you to MSSQL...

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    27. Re:Checkout PostGIS by Anonymous Coward · · Score: 0

      I know few stagnant application, and when a spatial application wants to add spatial functionality in the future but is built on a platform that doesn't support it, what do you do next? Start over with the right tool?

      You wouldn't use a pair of scissors to cut your lawn, would you?

    28. Re:Checkout PostGIS by Aighearach · · Score: 1

      people get pay cuts all the time when companies hit hard times. It doesn't happen all that often I guess

      Well which is it, all the time, or not all that often?

      I'll just spoil it and tell you, not all that often.

      And if you cut people's pay more than a tiny bit, they can quit the job and still qualify for unemployment.

      Usually pay cuts in the US are negotiated where the employees are shown the numbers and convinced that the company really is struggling to stay in business and that cutting labor costs will save everybody's jobs. Then they negotiate a package of pay cuts. Much, much more often in these situations they negotiate a pay freeze where they don't get their normal cost of living increases for a couple years. Often they agree to cuts, not in direct pay, but in other benefits. Perhaps they agree to change to a health insurance premium with higher copays, or they give up part of their 401k matching. (which is usually quite low anyways)

      It isn't on the news because it happens "all the time," it is on the news because it usually doesn't happen so when it does, it it news.

      Huh?

      You can say that again! lol

    29. Re:Checkout PostGIS by Anonymous Coward · · Score: 0

      It is far superior to MySQL geographic types. I'm partial to MSSQL, but PostGIS is a close second.

      Yes, PostGIS is the way to go. I used to do a lot of ESRI applications professionally while at the same time dabbling in Open Source solutions. Once I came upon the PostGIS extension for PostgreSQL I began to convert all of the professional apps to PostGIS. You can do what ever you need to with PostGIS including interface with Google Maps. There is some pretty exciting stuff out there if you do a little digging.

    30. Re:Checkout PostGIS by Anonymous Coward · · Score: 0

      are you high?
      OGC is *not* run by refractions research! It's a global consortium of over 400 organizations, including corporations, government, and universities...

  5. Distance calculation is trivial... by JoeMerchant · · Score: 5, Informative

    If you've got something generating Lat/Lon coordinates to slap into your database, the distance calculations are trivial:

    http://en.wikipedia.org/wiki/Haversine_formula

    I didn't see anything in a quick skim of your requirements (tl/dr) that looks like it requires a $20K package to meet. There are a number of open source mapping solutions out there, Google Earth is hard to beat for functionality and ease of programming (see: KML).

    1. Re:Distance calculation is trivial... by Vellmont · · Score: 5, Informative

      This was my first thought as well. Several years ago I did essentially the same thing as the OP is talking about. (Find all the points that meet a criteria within a certain radius of a given point). It took all of an hour or two to research and code.

      If your developers are really complaining about lack of some simple calculations that are built into the Microsoft product, then it's time to either smack these guys hard, or fire them. For something this trivial it should take any good developer a few hours research to find a free solution rather than a paid one. Basically it sounds like these guys aren't willing to expand beyond what they already know, and are far too used to throwing money at problems rather than finding something inexpensive. Non-profits live and die by inexpensive solutions.

      I'd agree with the general sentiment to ditch MySQL, and use a real database like PostgreSQL. MySQL might be OK for trivial websites to store some data here and there, but GIS requires a real database. PostgreSQL is free, works well, is feature rich, and will let you expand. So tell your devs to either adapt to low cost solutions, or leave. If you let them spend 20 grand every time they don't want to do a little work, you'll soon be bankrupt.

      --
      AccountKiller
    2. Re:Distance calculation is trivial... by TerranFury · · Score: 4, Interesting

      ...which raises the question: What is the most efficient way to store points on the sphere for lookup? Computationally? And in terms of storage?

      1.) You can store lat/long, and use the Haversine formula, as you suggested. This requires trig functions, and has O(n) complexity; you need to iterate through all the points. You also have varying resolution over the surface, which makes bounding and early-outs a bit harder.

      2.) A great many other coordinate charts also exist, and it's hard to say why you should choose one over the other without looking in detail at how the distance calculations are performed, etc.

      3.) By using multiple charts -- e.g., a cube projection -- you can avoid issues with singularities, at the cost of branching. The complexity of distance calculations depends on the projection, but, without looking too carefully, my bet is that, in terms just of raw speed, cubemap vs. lat/long is probably a wash.

      4.) Why use a coordinate chart at all, when you can use an embedding? If you store points in 3d, proximity calculations (since the points are on the sphere) just become a dot product. Much faster! It also opens up the possibility of, e.g. (if you will be doing many lookups but few insertions), storing indexes sorted along the three axes (or more!) to speed bounding-box (or more generally, sweep-'n-prune) calculations. Bins, bounding volume hierarchies, and the other standard tricks of computational geometry come into play. On the other hand, you're wasting a lot of codewords on points that don't actually lie on the sphere.

      5.) Is there a more efficient use of codewords? Perhaps a (nearly-)-constant-resolution encoding scheme? If you start with the idea that a node in an octtree can be thought of as an octal number, you can see how you can encode points as real numbers in the interval [0, 1] -- e.g. "octal: .017135270661201") Of course, this still wastes codewords on points not on the sphere, so let's consider a refinement of this idea: At each level of the octree, discard any cube that does not intersect the sphere, and use arithmetic encoding, with the base varying between 8 and 2 depending on the number of cubes that intersect the sphere. This now seems like a (memory)-efficient way to encode points on the sphere -- but it is surely not computationally efficient. On the plus side, this same idea works for any manifold embedded in any Euclidean space, so at least it generalizes.

      6.) Since #5 is a mapping from [0,1] to the sphere, one wonders if there are space-filling curves on the sphere. Of course there are -- e.g., the Hilbert curve in 2d, composed with any inverse coordinate chart. Not that this helps much!

      I think my favorite of these is #5, but, practically, #1 or #4 are probably better choices.

      So how do the real GiS systems do it?

    3. Re:Distance calculation is trivial... by mjwx · · Score: 1

      Google Earth is hard to beat for functionality and ease of programming (see: KML).

      Google Earth is not Open Source, but for basic GIS it's a hell of a lot cheaper then an ESRI setup.

      --
      Calling someone a "hater" only means you can not rationally rebut their argument.
    4. Re:Distance calculation is trivial... by tillerman35 · · Score: 1

      Second (or apparently third) that opinion. Here is a tip to make queries based on distance MUCH faster:

      First, divide your territory into equally-sized "squares" based on the maximum "within N miles of" distance or some other convenient size. Give each an X and Y coordinate starting at 0,0=westernmost,northernmost and continuing Eastward,and Southward with incrementally larger values of X and Y. Store them as individual columns with a bitmap index.

      When joining the table to find records within N miles of a set of given lat/long coordinates, you only have to determine which X,Y square the lat/long coordinates fall into and query just those records that are within X+/-2 and Y+/-2. This will make use of the indexes on X and Y and greatly reduce the number of records that you need to perform the (CPU costly) distance calculation upon.

      This method increases the efficiency of questions that require a join (e.g. "records within N miles of each other") because the X and Y coordinate join, although not an equi-join, can still use the indexes.

      It also helps with figure-based queries (e.g. "records inside a circle of radius R miles" and "records inside complex polygon with vertices P1,P2,P3...") because the squares that the figure fully or partially encompasses can be pre-calculated and used in the WHERE clause of the query.

    5. Re:Distance calculation is trivial... by Anonymous Coward · · Score: 1

      What is the most efficient way to store points on the sphere for lookup?

      People use lat/long, so inputs and outputs will be in that format. Can the alternative methods you mentioned be converted to and from lat/long easily? Will any of them introduce the geometric equivalent of floating-point error?

    6. Re:Distance calculation is trivial... by Anonymous Coward · · Score: 1

      I like MySQL (just like those Facebook guys did up to about 4 years ago), although MariaDB might be a safer/faster choice. The great circle distance calculation is (as stated) quite trivial. I have coded it in C, PHP, and Python. The only issue is accuracy of the language (and accuracy you want/need).

    7. Re:Distance calculation is trivial... by Nivag064 · · Score: 1

      In the last 10 years I have done 3 searches on the Internet to compare MySQL with PostgreSQL, and PostgreSQL came first in all the categories I checked (reliability, performance, and ease of development).

      For any major project, I would recommend PostgreSQL. I have client with MySQL, and had worked on a project were I had to do some DBA stuff and SQL queries using MySQL - my conclusion is that PostgreSQL is far superior and easier to use.

      Also with PostgreSQL: you are not limited to Microsoft O/S's, but can upgrade to Linux for even greater performance and reliability!

    8. Re:Distance calculation is trivial... by foetusinc · · Score: 1, Insightful

      If your managers are really complaining about spending a few grand for real GIS and database software, then it's time to either smack these guys hard, or fire them. For something this trivial it should take any good manager a few hours research to find an off the shelf solution rather than a homemade kludge. Basically it sounds like these guys aren't willing to spend a little capital, and are far too used to throwing developer hours at a problem others have solved instead of paying for something standard and letting their developers work on real problems. Projects live and die by organizations willingness to actually invest in them.

    9. Re:Distance calculation is trivial... by Anonymous Coward · · Score: 0

      You could probably do a bounding box - style limit first (filter and only keep those where the latitude and longitude differ from the target by less than $maxdist), and then use the more expensive Haversine calculations only on those. If the query is for a small circle in a big world, that ought to reduce most of the work to simple numerical filtering, which I expect to be fast with appropriate indexing.

    10. Re:Distance calculation is trivial... by bhopki3 · · Score: 1

      Its pretty easy to roll your own basic geo-location searches. We implemented similar functionality for a hotel travel site several years ago offering basic point and radius as well as bounding box searches on a major commercial RDBMS, bypassing the optional packages and avoiding several hundred $$$ of cost. Just use the Great Circle algorithm mentioned above -- any decent programmer should have no problem getting this done. If the functionality is used heavily, you should expect to do some tuning and performance optimization - perhaps even some caching of data or pages.

      The biggest concern will most likely be finding a good source of geo-location data - points of interest, city centers with meaningful locations, neighborhoods, and weird shapes such as islands, boundaries such as states and countries. The original poster mentioned Canada.. how good is the GIS provider's information for Nunavut? You may be surprised at the data quality issues for even some well populated areas. You should also think carefully about how this data will be maintained, how often it will be refreshed, and if you need to manage your own edits or overlays to the existing information.

      At any rate, unless your needs are complex, don't switch databases or run off to sign expensive contracts to solve a simple problem such as this.

    11. Re:Distance calculation is trivial... by JoeMerchant · · Score: 1

      Google Earth is hard to beat for functionality and ease of programming (see: KML).

      Google Earth is not Open Source, but for basic GIS it's a hell of a lot cheaper then an ESRI setup.

      Yep - and while there are a number of Open Source GIS solutions out there, it's still hard to beat Google Earth for functionality and ease of programming.

    12. Re:Distance calculation is trivial... by Anonymous Coward · · Score: 0

      While Postgres, Oracle MSSQL and others may be more powerful than MySql, don't say that MySql is just for small, trivial apps. I recently changed jobs, leaving a Postgres environment and moved into a MySql environment.

      Boy, were my eyes opened! Our MySql database is currently holding over 400 gig of data, in nearly 2000 tables, containing hundreds of millions of rows of data. The master db server replicates to two slaves in near-realtime, and this is supporting a site that supports over 1.5 million users. At any moment during the day, the site is fielding over 1500 requests/second, constantly throughout the day.

    13. Re:Distance calculation is trivial... by Anonymous Coward · · Score: 0

      In Java :

      ResultSet rs = s.executeQuery ("SELECT address, name, lat, lng, "
                                              + "( 3959 * acos( cos( radians('" +center_lat +"') ) * cos( radians( lat ) ) * cos( radians( lng ) "
                                              + "- radians('" +center_lng +"') ) + sin( radians('" +center_lat +"') ) * sin( radians( lat ) ) ) ) "
                                              + "AS distance FROM markers HAVING distance '" +radius +"' ORDER BY distance LIMIT 0 , 20");
                           

    14. Re:Distance calculation is trivial... by Anonymous Coward · · Score: 0

      Looks like quite a few here have used PostgreSQL in geographic/spatial applications and found it to be quite capable. Even if you had to create it all from scratch, in less than two years you'd be very glad to have elected to avoid MS and anything .NET. There's little wrong with SQL Server itself aside from the price and the OS on which it necessarily runs, but the associated tools/junk are very much a lock-in trap. Your guys have their blinders on. Either convince them to embrace learning new stuff or trade them for those who will. If you don't intend this project to be a quick-and-dirty, do it right with the superior open source tools. By the way, those who stay and learn something besides MS will later be very glad they did, so you can think of yourself as something like a parent, making the kids do something they don't want to for their own long term advantage.

    15. Re:Distance calculation is trivial... by rnmartinez · · Score: 1

      Great, thanks for the calculation piece - I will definitely pass this on!

    16. Re:Distance calculation is trivial... by Anonymous Coward · · Score: 0

      Hundreds of millions of rows, huh?

      One day, we noticed that inserts were failing. When we investigated, we discovered that we'd run out of primary key values (we were using a signed INT). Yes, ~2.2 billion rows. In one table. Next time, BIGINT.

    17. Re:Distance calculation is trivial... by jadavis · · Score: 1

      1. Spatial indexing support -- without the ability to index the searches, he'll likely run into a lot of performance problems. Applying a formula to every row to see if it matches might not be viable.

      2. Tools and standards -- he needs to interact with ESRI, so using standard formats (e.g. WKT and WKB) and having tools available to convert things for you properly will save him the effort.

      3. Requirements tend to expand. If he's doing GIS stuff, and wants to interact with ESRI, there's a good chance he will soon want/need a lot more features.

      4. Earth is not a sphere, so the Haversine formula will be inaccurate.

      Disclaimer: I have only done very limited GIS stuff. I know other people that do a lot of GIS projects, so my comment above is just based on whatever I picked up through osmosis talking to them.

      --
      Social scientists are inspired by theories; scientists are humbled by facts.
    18. Re:Distance calculation is trivial... by JoeMerchant · · Score: 1

      4. Earth is not a sphere, so the Haversine formula will be inaccurate.

      If you're interested in "real" data like driving distances or times, then Haversine is even less useful.

      If all you care about is an as the crow flies approximation within a percent or two (not counting the crow's climb to and descent from altitude), Haversine is pretty good:

      http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=81360

      The earth is not as round as a billiard ball, but it's close.

      http://blogs.discovermagazine.com/badastronomy/2008/09/08/ten-things-you-dont-know-about-the-earth/

    19. Re:Distance calculation is trivial... by Anonymous Coward · · Score: 0

      Plus, as the original poster likely knows, but for the benefit of anyone else out there, Google Earth Pro is free for non-profit use in many parts of the world, through the Google Earth Outreach program...

      (Don't work for them, but do work for a Canuckian not-for-profit that has been the beneficiary of this program ourselves.)

  6. Price is really weird by Anonymous Coward · · Score: 0

    How could it possibly cost 20k to do what you're talking about? I did the same thing last summer for a guy for about $200. And why would it cost $20k to move to MSQL. I suspect either there is a lot not being talked about in the summary for the prices are missing a decimal point.

    1. Re:Price is really weird by Anonymous Coward · · Score: 0

      You've never tried licensing MS development tools, have you?

      MSDN subscription (annually): somewhere in the neighborhood of $1200 - $4000, depending on what features you want with it. Multiply that by the number of developers. Add in cost of MSSQL (guesstimate: $5k - $10k). You could push $20k easy with a 3-man dev team.

      There's a reason large-scale enterprise development is still done in Java.

    2. Re:Price is really weird by viperidaenz · · Score: 1

      Keep in mind that $20k is probably only 200-400 man-hours of work. I've just spent the last year as the only developer on a project that cost $1.8M. I only billed them $250k. The rest went to project managers, BA's, testers, SME's, HR, Managers, etc...

    3. Re:Price is really weird by Anonymous Coward · · Score: 0

      Based on your comment, my guess is that you drive a 1980's honda, dine on cheerios and live in your parents basement. Real software engineers are quite expensive.

  7. Postgresql GIS by Anonymous Coward · · Score: 0

    Drop MySQL in favor of postgres.

  8. PostgreSQL with PostGIS by binarstu · · Score: 5, Informative

    I would recommend checking out PostGIS, which works with PostgreSQL. PostGIS adds functions, data types, and projection definitions to PostgreSQL that turn PostgreSQL into a powerful spatially-enabled database server. I'ved used this combination for a number of projects, and they work great. Both are fully open sourced.

    1. Re:PostgreSQL with PostGIS by binarstu · · Score: 4, Informative

      I should have mentioned also that I don't know specifically how PostGIS stacks up in comparison to Microsoft's offerings. I can tell you, though, that for the sort of thing you describe (e.g., find out how many objects lie within a given radius of some other object), PostGIS works great.

    2. Re:PostgreSQL with PostGIS by punker · · Score: 2

      +1

      I have used PostGIS and Postgresql extensively for spatial systems. It has rich functionality and can perform very well.

    3. Re:PostgreSQL with PostGIS by Korin43 · · Score: 5, Informative

      This.

      I've used SQL Server and Postgres/PostGIS for spatial queries, and PostGIS is much better. SQL Server's spatial indexes are not as good, and require a lot of work to even be acceptable. PostGIS indexes don't require any work and are faster.

      https://www.google.com/search?q=sql+server+spatial+slow

    4. Re:PostgreSQL with PostGIS by yeltski · · Score: 5, Interesting

      PostGIS and other GIS software probably benefits from OSS collaboration more than other traditional software categories, because they are part of a scientific collaboration. This means there are packages like Mapnik, GeoServer, GeoNode, etc, etc, that are build to work together in an ecosystem. And this ecosystem is larger than any closed system by it's nature. So, nothing can really compete with OSS GIS stack, and especially in the long term, and nothing really is meant to compete with PostGIS, just compliment it in the OSS world :)

    5. Re:PostgreSQL with PostGIS by Anonymous Coward · · Score: 1

      A nice series: http://www.daniel-azuma.com/blog/archives/category/tech/georails

    6. Re:PostgreSQL with PostGIS by SplashMyBandit · · Score: 3, Interesting

      Well put.

      Plus, Postgresql has things like "text" columns that work, and can be proper Unicode (not MS SQL-Server's crummy UCS-2, or Unicode haxx blobs where the normal text functions won't work anymore). It also doesn't rape your wallet like Oracle.

      In short, Postgresql does Internationalization right. It is easy for MS Sql-Server to be considered fast, when it doesn't have to do many things properly (like proper UTF or arbitrary length text columns, or spatial indexing, or having source available, or costing nothing :) etc etc).

      Use Postgresql, it will make hot girls like you!

    7. Re:PostgreSQL with PostGIS by yeltski · · Score: 1

      ugh, that's some horrible English :( wish slashdot had an edit button

    8. Re:PostgreSQL with PostGIS by Anonymous Coward · · Score: 0

      arbitrary length text columns

      Fixed length text columns need to die a slow, painful death. I am tired of dealing with bullshit programmers who can't imagine that anyone could possibly have a last name longer than 15 letters or addresses longer than 20 or some other arbitrary yet completely inadequate limit, and there is always someone who is absolutely flabbergasted by the idea that someone may have more than one middle initial and thus need more than char(1). Add to that the bullshit space-padding that the standard apparently calls for, and char(x) is a pain in the ass in both the planning and implementation stages.

      Input validation should be limited to that which can be determined is wrong (IE, a name should have at least one letter, assuming you are dealing with a culture that traditionally has distinct family and given names, so 555-555-5555 is an invalid family name). Limits on outputs should be handled at output time according to the limitation on outputs, possibly with a flag to indicate that incomplete data is being handed off to something developed by an inadequate programmer with inadequate fields.

    9. Re:PostgreSQL with PostGIS by ysth · · Score: 2

      You are showing your anti-MySQL bias...real MySQL programmers use char(0) columns all the time.

    10. Re:PostgreSQL with PostGIS by Anonymous Coward · · Score: 0

      I agree!

    11. Re:PostgreSQL with PostGIS by Anonymous Coward · · Score: 0

      But it does! Just like when cars are waiting at a traffic light and inch forward a few times to make the light change faster.

    12. Re:PostgreSQL with PostGIS by Anonymous Coward · · Score: 0

      PostGIS is much better for SpatialDB than MS SQL. All OpenSource gis apps support it. Second option is MS SQL, but it has it own flaws. MySQL is bad.

      This coming from guy who learn spatialdatabases on PostGIS and gets money from MS SQL databases ( 90% relational db and 10% spatial). Havent really used MySQL after initial tests for anything.

      All opensource tools and servers work on PostGIS is huge plus and there is topology and routing support for it. I also have to recommend FME "http://www.safe.com/fme/fme-technology/" (commercial data conversion and editing tool) because many thing are much easier with it if you need to convert dataformats or generate rasters etc...

    13. Re:PostgreSQL with PostGIS by rnmartinez · · Score: 1

      Ok, this Postgresql thing might be our winner. I'll have to get in contact with our host. Thanks!

    14. Re:PostgreSQL with PostGIS by godefroi · · Score: 1

      Out of sincere curiosity, what is the disadvantage of storing the data as UCS-2 vs UTF8? Is it simply the wasted space associated with the two-byte-per-character encoding?

      Also, unless you mean something different than what I imagine when you say "arbitrary length text columns", varchar(max)/nvarchar(max)/varbinary(max) are probably what you're looking for.

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    15. Re:PostgreSQL with PostGIS by SplashMyBandit · · Score: 1

      > Out of sincere curiosity, what is the disadvantage of storing the data as UCS-2 vs UTF8? Is it simply the wasted space associated with the two-byte-per-character encoding?

      Thanks for giving me an opportunity to elaborate. UCS-2 is a two-byte encoding ('wide' characters). However, unlike true Unicode characters it cannot expand into 3 or 4 bytes (depending on the encoding) like say. UTF-16 can (2 or 4 bytes). If your product using the database doesn't need to be internationalized then you might as well be using ASCII, but if you decide you'd like to be internationalized then this matters a great deal. For example, the Mainland Chinese government has mandated that software products in tended for Chinese use must support certain characters (those in the character set GB18030) including some which will not squeeze into UCS-2. Hence, if you are designing systems for global use (as I have had the great fortune to do) then MS SQL-Server starts to look worse than Postgresql or Oracle in this regard. You can use SQL Server, but you start having to do 'gymnastics' to handle the possibility that data will come from sources producing more than two-byte characters, eg. mucking around with CLOBs, and then you start to lose some of the useful text operations as they don't work on CLOBS. It's the same deal when you start storing Unicode XML in SQL Server that could have 3 or 4 byte characters (at least that was the case in 2010). All the Microsoft marketing says they support Unicode (the UTF formats) but for SQL Server this actually means double-byte UCS-2 - not the same! Like I said, Postgresql handles UTF properly, which is why I wanted to share my experience in this debate.

      >Also, unless you mean something different than what I imagine when you say "arbitrary length text columns", varchar(max)/nvarchar(max)/varbinary(max) are probably what you're looking for.

      Postgresql has equivalents to these types (although 2-byte nvarchar unnecessary since varchar can [and should!] be UTF, which is more compact when UTF-8 encoding is chosen but also more flexible for the multi-byte reasons I mentioned previously). These types (and the SQL types) have a maximum upper length. The Postgresql text type is efficient enough for general use but has no length limit. Basically you can treat it as a large CLOB if you need to but you get all the regular text operations work nicely with it. Again, this is Postgresql's flexibility making design easy since you don't have to commit to fixed sizes at the start. On the other hand, MS SQL Server has some nice features, like lightweight 'application locks', so choosing between Postgresql and SQL Server depends on what you need. However, I wanted to point out that the expensive SQL Server actually lacks some fundamental features that the free Postgresql has - since my Microsoft-tech trained folk are totally unaware of this.

    16. Re:PostgreSQL with PostGIS by marcosdumay · · Score: 1

      Besides functional problems, converting encodings can be quite slow. Specialy so if you are using Microsoft's converters.

    17. Re:PostgreSQL with PostGIS by Nethead · · Score: 1

      I bet your MySQL programmers aren't hot girls, on grits.

      --
      -- I have a private email server in my basement.
    18. Re:PostgreSQL with PostGIS by godefroi · · Score: 1

      Very informative, thank you!

      Am I correct in assuming that UCS-2 was used simply because UTF-8 hadn't been invented yet when MS and Sybase got together and started collaborating? It seems that UTF-16 didn't supersede UCS-2 until sometime in 1996...

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
  9. Why not use a Mixed-Solution. by Anonymous Coward · · Score: 5, Informative

    In my office we work with GIS Data, but a ESRI Desktop license is just too expensive.

    We choose for desktop Manifold GIS and the beauty of that software is that you could use almos any DB Backend to store your geometries. Now we are using MS SQLServer as backend, but Manifold allow you to save everything on WKB or WKT on the database that means that you can use almost any database.

    My suggestion is for the server use a combination of Mapserver+PostGIS.

    For clients you could use Manifold GIS, it's not ArcMap but believe me, with a license of $900 you could do almost the same things that you could do with a ESRI Desktop license of $5000.

    1. Re:Why not use a Mixed-Solution. by Anonymous Coward · · Score: 0

      I have used Mapserver and PostGIS to create a website to search for addresses.

      We used PHP MapScript and JavaScript to make the query's and showing the maps.
      We use ArchMap for other tasks and have no problems with PostGIS.

    2. Re:Why not use a Mixed-Solution. by rnmartinez · · Score: 1

      Haven't heard of this one (I think they push ESRI a lot in Canadian universities) but I will definitely have a look. Thanks for the great suggestions!

  10. Little cost today, huge cost tomorrow ? by unity100 · · Score: 1

    This is what you end up with proprietary solutions. The proprietary vendor has to make money. They know that you will eventually need stuff, and they want to make you pay them.

    Go for the open source one. Find a way to be free of vendors as much as possible. go find a proprietary solution that sits in front of a mysql db. so that in future, you may just ditch the proprietary solution and jump to another one, with the same db behind it. or, you can use that setup, while in the meantime developing your custom front/application slowly, and at one point be vendor-free.

  11. there's a lot of FOSS options by jaymz2k4 · · Score: 5, Informative

    Have a look at this post from Sebastian Delmont on google plus. I found an excellent eye-opener to whats out there related to GIS tech that you can "roll on your own". If you are doing simply radial distance calculations than as mentioned the Haversine forumula is your friend. I added a radial search to a dealer locator for an online store in under a day with some python and a bit of time to geocode and cache all the address data via google.

    --
    jaymz
    1. Re:there's a lot of FOSS options by rnmartinez · · Score: 1

      Awesome thanks! These specific resources are always helpful!

  12. What about Postgre? by Anonymous Coward · · Score: 0

    SQL Server makes GIS a breeze, see here http://blogs.lessthandot.com/index.php/DataMgmt/DataDesign/sql-server-2008-proximity-search-with-th
    what about PostgreSQL...can you use that?

  13. DotNetNuke is open source! by Anonymous Coward · · Score: 0

    I think that the spatial geography data types that are native to MS SQL seem like they would be pretty key to what you're doing. Add to that DotNetNuke, which is free and open source, and that appears to be a pretty strong solution. DNN is also extremely extensible, very robust and it think would play well with MS SQL and your project.

  14. PostGIS by SSpade · · Score: 5, Informative

    http://postgis.refractions.net/ - pretty good spatial functions based on top of PostgreSQL, and not tied to Oracle.

    There are many, many open source GIS packages that you might find useful rather than implementing everything yourself. http://maptools.org/ is one place to get some pointers from.

    1. Re:PostGIS by Anonymous Coward · · Score: 1

      I was once a research assistant on a project that relied on GIS. PostGIS is the OpenSource defacto in GIS. There's also a healthy community of other Open Source tools that can use PostGIS, such as GeoServer.

    2. Re:PostGIS by Anonymous Coward · · Score: 0

      Seconded. Every time I return to PostgreSQL, I get a warm fuzzy feeling from how emergent, clean and sense-making it feels.
      (Then again, I may be damaged by the one whose name shall not be spoken. ;)

      But about the many, many packages: Then the problem is not that there are too little. The problem is that there are too many. ;)
      So: Which ones are good? How to find out without trying them all out and wasting way too much time?

    3. Re:PostGIS by rnmartinez · · Score: 1

      Great thanks! I think that the happy medium for our situation would be non-MS/Oreacle but not fully custom either. I definitely have some reading to do :-)

  15. PostGIS and OSGeo.org by daboochmeister · · Score: 5, Informative

    Run, do not walk, to research the Open Source Geospatial Foundation's offerings. And be aware, neo-geos devote their efforts primarily to PostGIS, which builds on the very capable PostreSQL database, adding in geospatial capabilities that by many accounts rival the best that that Oracle Spatial and MS SQL provide.

    As always, there are significant tradeoffs to evaluate in your situation. Be ready to study the many evaluations and comparisons of the various solutions.

    --
    "Ahh! I see you're in that indeterminate Schrodinger state where - oh, uh ... never mind." Dave Bucci
    1. Re:PostGIS and OSGeo.org by cptdondo · · Score: 1

      +1

      Also, if you hope to attract a following and contributors, then MSSQL is the death knell.

      As a non-profit, I'd hope your business model would be something like openstreetmap or some such; you aggregate the data, provide a portal, and allow others to build on it. Proprietary software is not the basis for sharing info.....

    2. Re:PostGIS and OSGeo.org by rnmartinez · · Score: 1

      Great, thank you. I certainly don't want to run, but I do want to balance ease and cost vs the qualitatives.

  16. I've written that kind of code using MySQL... by Anonymous Coward · · Score: 0

    To make it easy, you store the lat/long of each item, and it is relatively easy to search quickly for a all of the matches within a rectangle, and then within that group you can use a little bit of geometry to narrow it down to an exact circle (if you wish). This might cost something like one man-day to implement. Are you sure that your developers are reasonably competent?

    PS. I work in a mixed Linux/Mac/Windows environment, and we've found Windows based computers to be relatively expensive (in terms of our time) to maintain and administer.

  17. Open Source by Anonymous Coward · · Score: 1

    Either Postgresql or Mysql (w/ geo extensions) will work on the back end. Geoserver makes a good, if somewhat heavyweight, middleware solution—it is fast though. It'll serve out selected areas in a variety of formats, including JSON. Arcsoft can use some of the other formats. Google Maps or OpenLayers will work well on the front end.

  18. PostgreSQL + PostGIS by sgtstein · · Score: 5, Informative

    At my place of employment we use PostgreSQL and PostGIS extensively for the exact or similar problems as you describe. We recently contributed back to a portion of the PostGIS project by extending the TSP solver for a different ending than the beginning. I'm not the one who is generally writing stuff like this, but I maintain the servers and I know how much performance can be gained. Plus, the PgSQL and PostGIS guys are very close with lots of code and advancements being contributed directly into PgSQL from the PostGIS team. We have also looked at the MS solutions and found them to be ridiculously expensive to host and scale services targeted at business with real-life budgets and not huge corporations. We have tools used in nearly all of the counties in Wisconsin processing many requests per day and second(not allowed to give numbers) with only a few servers. Personally, stay open source and stick with PostgreSQL. They have a track record for extremely stable systems that can be upgraded as advancements are made with very little downtime. You can tune the internal performance metrics to tweak everything you need with online research or many books and even consultants such as EnterpriseDB. Good Luck with your developers, go with PostgreSQL and you won't look back.

    1. Re:PostgreSQL + PostGIS by rnmartinez · · Score: 1

      Awesome thanks for your insight. It's great to hear from someone who has applied this in a similar situation. I think PostgreSQL is definitely worth a detailed look.

  19. PostGIS + GeoDjango, no contest by yeltski · · Score: 1

    These are obvious choices without better alternative even in the commercial world. All ESRI products, or other products included. ESRI doesn't advertise it, but they are also using GDAL and other open GIS standards.

    https://docs.djangoproject.com/en/dev/ref/contrib/gis/tutorial/
    I have 10 years of Web, and 5 of GIS experience, and doing consulting now. Let me know if you're interested, and we can have a private conversation.

    1. Re:PostGIS + GeoDjango, no contest by Anonymous Coward · · Score: 0

      I hope English is not your first language.

    2. Re:PostGIS + GeoDjango, no contest by yeltski · · Score: 1

      No, my first language is Russian. I guess I'm rather used to being able to edit my posts, and was in a hurry at the time. Usually my English is not this bad.

    3. Re:PostGIS + GeoDjango, no contest by marcosdumay · · Score: 1

      Hey, I didn't know about GeoDjango. Thanks a lot for the pointer.

  20. MySQL and Drupal are fine by topham · · Score: 4, Interesting

    I can safely say that MySQL handles GIS data sufficiently for the type of scenario you've described on Slashdot. I've got a database I periodically play with that is all the cities / major towns of the world and can quickly query it with distance data. (as in: Give me everything within 100 miles of Lat,Long)

    MySQL doesn't make all of it as easy as it should be, but with some careful design decisions it can work surprisingly well for it.
    I previously had created a distance function that worked pretty good, but more recent versions of MySQL have better internal support and I was able to ditch some of my custom routines.
    (Note: my routines performed efficiently, but gathered extraneous data that could later be filtered out to be more precise. The extra data was maybe 10% more than necessary, but meant the query was very fast.)

    Perhaps you should be looking to upgrade your MySQL instance, or getting some procedures/functions written for MySQL to handle some of the calculations.
    (It's pretty easy to calculate a rectangle for the query to run against, and then follow up with a more precise distance calculation to filter out a few stranglers that slip into the dataset. (better to include a few that are dropped in later stages than to exclude valid data up front)).

    As for the moral issues: Stuff them. They aren't what you should be focusing on.

    1. Re:MySQL and Drupal are fine by ckaminski · · Score: 1

      Where does one get a database like that?

    2. Re:MySQL and Drupal are fine by topham · · Score: 1

      Your current best bet is: http://www.geonames.org/

    3. Re:MySQL and Drupal are fine by rnmartinez · · Score: 1

      Thanks for the +1 for mysql, it could save some headaches. My devs feel that they are up to the task of writing some functions, but they feel that MS does make it easier. In terms of the moral issues, I can't just stuff them, but I won't let them kill my budget either.

    4. Re:MySQL and Drupal are fine by jadavis · · Score: 1

      I've got a database I periodically play with that is all the cities / major towns of the world and can quickly query it with distance data. (as in: Give me everything within 100 miles of Lat,Long)

      How many cities/towns are there in the world, actually? That sounds like a trivially small problem.

      --
      Social scientists are inspired by theories; scientists are humbled by facts.
  21. Only one true FOSS option: PostgreSQL + PostGIS by Anonymous Coward · · Score: 5, Informative

    Disclaimer: I work for Esri.

    In the FOSS GIS world the go to DBMS is PostgreSQL + the PostGIS extensions. Don't even consider MySQL in this regard. PostGIS owns this space and rightfully so.

    SQL Server is a great database as well and their spatial types and functions are excellent. Depending on how much data you'll be storing and processing - and if you have Windows Server licenses already - you may be able to use SQL Server Express which is free as in beer for any use.

    For someone in your position though there's really only one choice: go with PostgreSQL + PostGIS. It would be silly for someone in your position to pay for this functionality and the PostGIS community would welcome you with open arms.

    1. Re:Only one true FOSS option: PostgreSQL + PostGIS by yeltski · · Score: 1

      As an ESRI guy, how do you feel, or what do you think is the ESRI feeling about Google hiring the top GDAL guy? Any idea, what, if anything they are planning? :)

    2. Re:Only one true FOSS option: PostgreSQL + PostGIS by Anonymous Coward · · Score: 1

      Meh, who knows. By all accounts it doesn't sound like Google even realized who they were hiring.

      The big G has been making inroads into the GIS realm for years now and brought a long needed kick to the industry (Esri very much included). They continue to attack the simple low-end solutions market with Google Maps, Google Earth, Fusion Tables, etc.

      However they've also run into some recent challenges after starting to charge for Google Maps tiles. Even if most sites will never hit the usage limits and have to start paying the mere fact that it's not just 'free' seems to have pushed a lot of people to start investigating alternatives both commercial and FOSS. Something I personally consider a very good thing. If all you need to is serve up some map tiles with some points on them, with a few distance calculations thrown in, then using ArcGIS Server is a bit heavy-handed (although, of course, it can do that too).

      Ultimately Google is nowhere close to having a 'GIS' in the classic sense and I doubt that's what they're going for. But if your needs aren't at the full-blown Enterprise GIS level you can go a long way with both Google provided solutions or homegrown solutions built on FOSS.

    3. Re:Only one true FOSS option: PostgreSQL + PostGIS by snsh · · Score: 1

      Since licensing cost is a major concerns with MSSQL, the question turns on which license you would need to pay for. For a small instance you might do okay with a free express download. You could save money by picking up a (used) SQL2005 or SQL2008 standard license. Maybe you need the features of SQL2008R2 which would be more money. Maybe down the road you will need something that can scale really big in which case you would need to budget $$$$$ for enterprise licenses instead of standard.

      And of course there's SQL2012 RC which you can use for free for maybe six months before it expires.

    4. Re:Only one true FOSS option: PostgreSQL + PostGIS by rnmartinez · · Score: 1

      Thanks for the awesome feedback, and its great to hear from someone from ESRI. I like the PostgreSQL option that is being outlined here, and if there is a strong community then that is even better.

  22. Work out what you need first. by jdaragon · · Score: 2

    This is an excellent question. Do you need to perform arbitrarily complex operations on geometries, or are you looking for very simple geospatial operations? If, for example, you need to find all points within a complex polygon, or calculate overlaps then it's likely to be useful either to buy into a real GIS system, or investigate something like the GDAL OGR library. If, however, all you want to do is the sort of thing you describe, you can probably get away with calculating a bounding rectangle from the set of points you have and extending that in each direction by an arbitrary amount. Lo - store grid references or Lat/Long, and you need no geospatial support in your database at all. If you *did* need geospatial support, and were persuaded that MS-SQL were the way to go, then check if you qualify for WebSiteSpark in Canada - that will get rid of most of the 20k you need to spend and get you Server 2008, SQL Sever 2008, Visual Studio 2010 &c for $100 over 3 years. How much data do you have? SQL Server 2008 Express has the spatial extensions.

  23. How often does data change? by Anonymous Coward · · Score: 0

    How often does the data change? I'm not talking about adding new records but changes to existing ones. If the answer is rarely then you should be putting your data in a SOLR search engine, not in a database of any sort. But if a database is called for, you really need to use PostgreSQL, either on its own or as part of a GIS system using POSTGIS. MySQL is just the wrong tool for this job.

    Look at tools like TileMill that make mapping really easy.

  24. Re:Obvious answer by fuzzytv · · Score: 2

    There's a saying about stupid questions and answers, but never mind ... Your answer is based on several assumptions:

    You're right that custom code is usually more expensive than already available boxed solutions, under the assumption that the generic solution implements only the needed code and does not need to be modified. If the generic solution implements much wider range of functionality than you actually need, the custom code may be actually much cheaper. And if you need/want to change the internals, it's going to be very expensive (outweighing the prior savings) or even impossible. Plus you usually have zero influence on future of the product.

    I really don't see how the choice of MSSQL (or any other database) eliminates the need for proper testing ...

  25. Re:Obvious answer by tragedy · · Score: 2

    Sounds reasonable until you consider that both approaches are going to require custom work. Even though the whole point of languages like SQL is that you're supposed to be able to swap out the back end easily, in the real world, you have to do all kinds of work. So the choice isn't between some kinds of simple switchover or doing a lot of custom work, it's between doing a bunch of custom work or doing a different bunch of custom work. Oh, and the third option of finding a prepackaged solution that does what you want without swapping out such a major part of your application stack.

  26. $20,000 for Mathmatical Functions? by Anonymous Coward · · Score: 0

    Please tell me you are not actually thinking that having geometric functions in SQL is worth $20,000. If so, I have a really nice hammer I can sell you, only $800.

  27. PostGIS by Anonymous Coward · · Score: 0

    Postgres + PostGIS is the way to go for you. Has any function you will find in Oracle Spatial or MSSQL. Just have a quick look at the documentation and you'll see for yourself.

  28. Re:Obvious answer by mrclisdue · · Score: 0, Troll

    Thanks for taking a minute of your time to first-post your seemingly ubiquitous pro-MS anti-Google (mostly, followed by foss, apple) *viewpoints* under your umpteenth alias of the past few months (or has it been seconds? eons? whatever....)

    You failed to answer my query in a previous thread as to how you omitted Microsoft from a first-post-same-timestamp-as-story rant regarding patents. Allow me to refresh:

    You said:

    Jeez. Companies like Google and Apple are collectively abusing the system and patenting every single thing they can think of, most of which are outright obvious

    I asked you why you omitted Microsoft. May I ask you again? You are aware that Microsoft boasts of having *licensing agreements* with, oh, didn't I read somewhere around 85% of Android phone manufacturers? Would patents be involved?

    Why do you troll here? Why do you need more than one user account? Why do you need to first-post?

    And why didn't you provide an answer to the submitter, rather than troll?

  29. GIS improvements already are in MariaDB by Lordrashmi · · Score: 4, Interesting

    Disclaimer: I work for Monty Program Ab, the primary developers behind MariaDB.

    MariaDB 5.3.3 (currently in RC status) has improved GIS functionality versus MySQL. While sponsoring new features could improve it even further what we are releasing right now might be enough for you. Please give it a try, and talk to us about how we could make it fit your needs better.

    1. Re:GIS improvements already are in MariaDB by ysth · · Score: 2

      Those not familiar with Monty Program's business model can read about it here:
      http://montyprogram.com/hacking-business-model/

      If the missing features are not already in MariaDB, it certainly provides a nice opportunity to take that $20K and use it to benefit everyone.

      (Though the OP doesn't identify the missing features, so it's not clear to me that they even exist. In his/her place, I'd be thinking about replacing the reluctant devs, not the target platform.)

    2. Re:GIS improvements already are in MariaDB by rnmartinez · · Score: 1

      Great, thanks for the offer~ I do like the idea of doing something that can be contributed back to the community as a whole.

  30. Warm Fuzzy by tomhath · · Score: 1

    If it gives you a warm fuzzy to use open source, budget what it will take to retrain or replace your programmers and build from scratch what you could get by paying the license fees. Factor in the additional risk and schedule impact of build versus buy. Then when you're done, contribute everything you paid your team to develop back as Open Source code so anyone else who wants to do the same thing can use it.

    1. Re:Warm Fuzzy by Anonymous Coward · · Score: 0

      The fact is as a non profit he has NO LICENSE FEES FOR MS PRODUCTS or many other vendors products.

    2. Re:Warm Fuzzy by mvdwege · · Score: 1

      If the programmers are that limited that they need that much budget for retraining, he's going to run into trouble eventually, so he might as well save the time and do it now.

      --
      "I know I will be modded down for this": where's the option '-1, Asking for it'?
    3. Re:Warm Fuzzy by Anonymous Coward · · Score: 0

      If the programmers are that limited that they need that much budget for retraining, he's going to run into trouble eventually

      Not necessarily. It sounds like he has a team of .Net/MSSQL/Visual Studio cowboys. They can probably bang the project out pretty quickly with the tools they know (and in my limited experience with it, programmers can be very productive with the MS .net stack). Tell them to learn all new technology and there has to be a learning curve.
       

  31. Best Place to ask GIS questions by Anonymous Coward · · Score: 1

    I know this post will get swamped, but slashdot isn't really the best place to get advice about that. You should ask your question over at http://gis.stackexchange.com

    OSGeo, Worldwind, QGis and GeoServer. Specifically GeoServer which would allow you to server data from which ever database you decide directly to the users. If you aren't already aware, you should investigate Web Map Servers (WMS) as they would be a better delivery mechanism than CSV.

    1. Re:Best Place to ask GIS questions by rnmartinez · · Score: 1

      Awesome thanks! I will have a look there too.

  32. Your developers by NewWorldDan · · Score: 1

    You say that your developers are MS guys at heart? Then go with the MS stack to develop this. Your developers are your biggest expense, and Microsoft licensing for nonprofits is completely reasonable. As much as you might want to do everything open source, sometimes it's more important to get the job done in a timely fashion.

    1. Re:Your developers by mjwx · · Score: 1

      You say that your developers are MS guys at heart? Then go with the MS stack to develop this. Your developers are your biggest expense, and Microsoft licensing for nonprofits is completely reasonable. As much as you might want to do everything open source, sometimes it's more important to get the job done in a timely fashion.

      MS licensing is cheap.

      No, seriously, especially as a non-profit they'll get SQL Enterprise licenses for pennies.

      However that is not the OP's problem. If you go with the MS stack, you're practically choosing to go with ESRI and ESRI licensing is not cheap. You may be looking at $20 K for a floating ArcInfo licence. You're looking at $4K just for a single use ArcMap license. Lets not even look at ArcGIS server

      --
      Calling someone a "hater" only means you can not rationally rebut their argument.
  33. Consider remedial training for your staff by Arrogant-Bastard · · Score: 0, Flamebait

    If they really are "MS guys at heart", then they're not very well qualified. This may be due to intrinsic low intelligence, but presuming you've ruled that out, it's likely due to lack of significant experience with professional-quality software. (I consider MS software fine for children and amateurs, but utterly unsuitable for anyone who even pretends to be a professional.)

    This exercise would thus make an excellent teaching moment for them: they should be tasked with investigating the many fine pieces of open-source software (and data) linked to in this thread, and educating themselves to the level necessary for them to understand not only how the solution to your current problem has very likely already been coded by someone else, but why it's very likely been coded by someone else. In other words, I'm suggesting that they come to an understanding of why common/ordinary/routing tasks should not be relegated to expensive, proprietary software, but are included in free, open-source software during the normal course of development.

    Meanwhile, you should consider this question: is a relational database the best way for you to attack this problem? Or should you, instead, consider alternate ways of storing/searching the data? (I make no recommendation either way; without MUCH more detail on your precise requirements, I can't.)

    1. Re:Consider remedial training for your staff by Anonymous Coward · · Score: 0

      My advice is to not follow this guy's advice because he's obviously a dumbfuck.

      After all, he's an 'open source guy at heart' so he's obviously not very well qualified. This may be due to intrinsic low intelligence, but presuming you've ruled that out, it's likely due to lack of significant experience with professional-quality software. (I consider FOSS software fine for children and amateurs, but utterly unsuitable for anyone who even pretends to be a professional.)

      This exercise would thus make an excellent teaching moment for them: they should be tasked with investigating the many fine pieces of proprietary software linked to in this thread, and educating themselves to the level necessary for them to understand not only how the solution to your current problem has very likely already been coded by someone else, but why it's very likely been coded by someone else (and why they want to charge for it). In other words, I'm suggesting that they come to an understanding of why common/ordinary/routing tasks should not be cheap, unmaintained, buggy free software, but are included in quality, proprietary software during the normal course of development.

    2. Re:Consider remedial training for your staff by Bert64 · · Score: 2

      He makes good points...
      If you lack technical skills then buying pre packaged software is for you, but you certainly shouldn't go around tricking people with even less technical skills into thinking that you're somehow an expert.
      If however you are technically competent, then it is almost always better to have software that you can modify to suit your needs, and which you can understand inside out.

      Similarly if you're a competent and well taught developer you should have little problem adapting to different platforms, and you should actually *want* to because experience of more platforms increases your value as a developer.

      There is a reason why the companies with the most inhouse technical skill build their core services on open source (Think google, yahoo etc). While your typical non tech company simply buys in commercial software (and often get ripped off by overpriced low skill blag-artist consultants).

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
  34. charity by spongman · · Score: 1

    you might want to contact your local MS sales rep. I believe, if you're a charity, you can get MS SQL Standard edition for around $3K.

    1. Re:charity by Anonymous Coward · · Score: 0

      lol "only $3k". I haven't spent $3000 on software *in my life*.

      PostgreSQL is the way to go about this problem, as others have pointed out. If your DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS like sucking off Billy-boy so much, fire them and get ones that don't (and recognise proprietary software for what it is - buy now, pay now, and KEEP paying later...)

    2. Re:charity by Bert64 · · Score: 1

      $3k? Plus the cost of the windows license to run it on...

      For $3k+ i could buy significantly more powerful hardware, several additional servers or a much better hosting plan.

      And this is supposed to be CHARITY pricing?

      I also assume that "standard edition" isn't the highest end version, and is therefore artificially crippled relative to the even more expensive versions?

      I'd rather take my more powerful servers. and use them to run a free full featured copy of postgres on top of a free full featured copy of linux.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    3. Re:charity by rnmartinez · · Score: 1

      We are a non-profit, not a charity, so I know that we don't qualify for many programs. I will try MS though and see if they can help us. I know that many other vendors wouldn't give us a deal.

  35. Re:Unprofessionalism at its finest by cptdondo · · Score: 1

    He works for a non-profit. As such ethics and morals and beliefs weigh a lot more than in a for-profit corporation. Non profits do things because they believe in them, not necessarily because they make the most money.

  36. The Obvious answer by Joe+U · · Score: 4, Insightful

    And why didn't you provide an answer to the submitter, rather than troll?

    Oh! Oh! I have an answer. Pick me!

    It's because you're trolling just as hard!

    You spent 5 of 6 lines attacking the person who wrote the post, 1 line talking about some other topic and zero arguing the merits of the post.

    Yay! I solved the puzzle. I'll take the cupcake for $10 and the rest on a gift certificate Pat.

    I personally agree with the OP, you use the best tool for the job. If you are designing your own tools just to save money, then you're under-valuing your time as a developer. If in this case MSSQL works, then use it, if in another case MySQL works, use it.

    1. Re:The Obvious answer by Joe+U · · Score: 0

      For your answer to have been correct, the OP would need the ability to foresee the future.

      In what way? You made no rational arguments, you just engaged in a puerile rant about how much you dislike the poster.

      After looking at some of your posting history, that seems to be your baseline, so I'll just stop here.

      cheers,

    2. Re:The Obvious answer by EdIII · · Score: 4, Insightful

      I personally agree with the OP, you use the best tool for the job. If you are designing your own tools just to save money, then you're under-valuing your time as a developer. If in this case MSSQL works, then use it, if in another case MySQL works, use it.

      The OP does not know what they are talking about, and their point about the database and bug testing is inane. It's a vast oversimplification of the problem.

      Code development is going to happen one way or another here. Saying custom code costs hundreds of times a proprietary boxed solution is an incredible generalization, indicates that they have not even read or considered the problem, and have thus been simplistic and given rash counsel.

      The question at hand is one of platform.

      Do you develop on a proprietary database platform with non-trivial licensing costs to gain certain features and decide to use a coding platform that also has non-trivial costs in the form of tool sets, etc.?

      Or...

      Do you develop on an open source platform, that is finally maturing to a point it might be considered seriously for enterprise use (MySQL), and choose a coding platform that is also open source with quite possibly cheaper tools?

      There are many things to consider here. Time To Market. That's a big one. If you need to bring the solution online and in production within 90 days, and it is not possible with the budget and personnel to do it yourself, than you really should consider a "boxed" solution. Some of those are even built on open source platforms as well.

      Generally, doing it yourself will not cost hundreds of times more. That really varies. If you have the time and manpower to build a project yourself, and possibly open source it, you could easily do it. The cost of maintaining it though means that you will need to keep some developers on staff. With this particular situation that does not sound like an issue. They are not reinventing the wheel here. Ongoing support is going to be required no matter what.

      In this particular instance it seems it is the choice between MS and open source. This guy just has to evaluate what his true costs really are. How much over the expected life time of the service will MS licensing cost? How much will MS experienced coders (both MSSQL and .NET) cost to keep on staff versus open source coders? If he had to modify MySQL to gain some features of MSSQL how much will that cost him over the long haul?

      Choosing MSSQL does not mean you are locked into .NET either.

      You're right about your time as a developer and choosing the best tool for the job, but there are many other important considerations too. The OP was being vastly simplistic.

      Personally, I would need an extremely good reason to choose anything that requires MSSQL. That is not a trivial cost. It, in fact, has "dependency" licensing costs that are non-trivial as well. If you really need enterprise features and your project and production environment absolutely must have it, then that's that. Pay the money, budget for it, and get cracking.

      That is what I really think his concern is. Going MS means a commitment, and a serious financial commitment at that. Are those features really really worth the tens of thousands of dollars per year MS is going to cost?

      Open source not only allows code changes, but the licensing costs are zilch. You could buy support contracts, but otherwise, hardware costs are pretty much a wash.

    3. Re:The Obvious answer by JoeMerchant · · Score: 3, Insightful

      If you are designing your own tools just to save money, then you're under-valuing your time as a developer.

      This statement has to be qualified by comparison to the cost of the tools.

      If the (additional) tools required take less than one man-month to develop as compared to the purchased package, well, I'd like to be worth $20K/month, but I'm not. Also, the initial purchase price is often the camel's nose under the tent flap, any organization I have ever been in would spend at least $10K of management handwringing, accounting, comparison shopping, independent consultant referencing and other time to decide if and when to pull the trigger on a $20K purchase. (Not true, one place I worked had a $25K/quarter discretionary budget at the department level, keep it under that and you just had to convince your Director - does your shop have $25K/quarter quick access discretionary money left in the current budget?) Back to the stinking camel - now that you've paid $20K for it, what are the "hidden costs" of maintenance and upgrades for the package?

      Most times, it's less effort on my part to code the algorithm in question than it is to pull the levers required to shake loose more than $1000 from the money tree - so, am I serving my organization better by using my time and skills as a programmer, or as a lobbyist convincing them to spend money?

    4. Re:The Obvious answer by tibit · · Score: 1

      Frankly said, basing the choice of a database just on availability of relatively simple GIS indexing is somewhat silly. There's a lot of other costs that need to be considered, besides just how much the initial license will cost. You'll want test servers, licensed to take the number of connections needed to do stress testing. I have no clue how MSSQL licensing would work here. You'd probably want to be able to expand capacity quickly if the project gets major publicity (shlashdotting, a segment on it on NPR or whatever is the Canadian equivalent, etc). You'll want to figure out how long is the support on whatever platform you run the database on, and how much you'll have to pay to upgrade it when the time comes. There's the issue of project's long-term viability, too, I think that mysql has rotten smell to it at the moment. IMHO postgresql smells much better, it seems like it's moving ahead at a stately pace but it's always moving ahead. And hey, it does all the gis you'll need.

      --
      A successful API design takes a mixture of software design and pedagogy.
    5. Re:The Obvious answer by Anonymous Coward · · Score: 0

      He's a non-profit. He doesn't know yet but he has no licensing costs. So basically you suggest that he takes MSSQL, good for him.

    6. Re:The Obvious answer by rnmartinez · · Score: 1

      Well best for us has different criteria; cost is always key, but can we add a social aspect to what we do? That is something we always look for, but I certainly don't want to break the bank.

    7. Re:The Obvious answer by rnmartinez · · Score: 1

      Thanks for the detailed feedback. Our deadline to get this up and running is approximately 6 months, so that is why I am looking at options. We can make it work with MySQL, but I feel like future options may be limited when working with GIS.

    8. Re:The Obvious answer by drcesteffen · · Score: 1

      As I recall, the MySQL server install is only free for non-commercial use. Read the license agreement. Non-profit may not mean non-commercial so check with your lawyer. I also recommend using postgresql. The online documentation (http://www.postgresql.org/docs/9.1/interactive/index.html) is great so no need to pay for any training. I last used postgresql four years ago for a GIS application.

    9. Re:The Obvious answer by VolciMaster · · Score: 1

      I'd like to be worth $20K/month, but I'm not

      Are you sure ? If you're making $60k a year, the overhead in terms of benefits, insurance, employer half of ssi, etc bring you to about a total cost of $120k. That's $20k per month.

    10. Re:The Obvious answer by JoeMerchant · · Score: 1

      I'd like to be worth $20K/month, but I'm not

      Are you sure ? If you're making $60k a year, the overhead in terms of benefits, insurance, employer half of ssi, etc bring you to about a total cost of $120k. That's $20k per month.

      I work more than 6 months a year.

    11. Re:The Obvious answer by Fred+Foobar · · Score: 1

      As I recall, the MySQL server install is only free for non-commercial use. Read the license agreement. Non-profit may not mean non-commercial so check with your lawyer. I also recommend using postgresql. The online documentation (http://www.postgresql.org/docs/9.1/interactive/index.html) is great so no need to pay for any training. I last used postgresql four years ago for a GIS application.

      I think you recall incorrectly. MySQL is licensed under the GNU GPL, which means it can be used for any purpose (the GPL covers only the redistribution, not the use, of software). Since the OP intends to use MySQL in-house, its license is irrelevant.

      --
      It was a really good paper.
  37. Give PostGIS a try by fuzzytv · · Score: 1

    First of all, it's not your developers who should do this decision. Yes, you should ask for their opinion but if they're the "we know MSSQL and we're not willing to see other options therefore everything else is worse" type then they'll choose MSSQL no matter what. So do a cost-benefit analysis, as already recommended by wasabii.

    Before giving any specific recommendations, I have to mention that I'm a PostgreSQL-guy. I do like how mature and reliable the database is, how the community works, how fast the occasional bugs are fixed, etc. Therefore I'd recommend you to give PostGIS a try - AFAIK the spatial functionality is infinitely better than in MySQL, quite comparable to MSSQL. There is a nice comparison matrix of features at http://www.bostongis.com/PrinterFriendly.aspx?content_name=sqlserver2008_postgis_mysql_compare but it's very old - it may give you an idea how the products compare. You can probably get more details on the PostGIS mailing list.

    You should really decide whether you want to go with an open-source solution or not, how important the benefits are for you etc.

    1. Re:Give PostGIS a try by rnmartinez · · Score: 1

      To be fair, they are willing to do open source as well, they just recommended something that they are familiar with and I can't blame them for that, PostgreSQL is sounding better and better though.

  38. 20k in the left hand, 20k in the right hand? by Frosty-B-Bad · · Score: 1

    Things to consider:

    1. How many "guys" (people) are you talking about when you say they are "MS guys at heart" == (amount)
    2. How much will they have to learn to be as proficient at option X versus what they are good already (MSSQL) == (time)
    3. How much will they be annoyed that option X "just doesn't do this the same way" == (more time wasted chatting about how dumb there boss is for making them change)

    then run that through the ol' PERT analysis (shortest time + 4xlikely time + longest time) / 6, and see if that comes up to be more than your 20k initial expense..

    so lets say 3 "guys"? and the project seems rather large and its doing something new, but lets guess 6 months (960hrs.. 40hrsx4x6),

    lets say they on the conservative they waste 8 hrs a week learning/complaining/whatever, 10 likely and 12 if they are really mad at you for making them learn some new stuff.. ( pert says 10 after that )

    so we'll say they'll blow 10 hrs a week learning the new SQL db, 240 total hrs a piece, and we'll guess there pay at $20 being non-profit and all, but probably paid more I would hope.. $4800 per person, times 3 is $14,400. so its getting in the warm zone of $20k.. would be interesting to see real numbers..

    1. Re:20k in the left hand, 20k in the right hand? by rnmartinez · · Score: 1

      To be fair, the $20K would add some features as well because of what MSSQL offers vs MYSQL. I just want to look at all options. And massive +1 for PERT :-)

  39. Comparison of PostGIS/mssql and other points by Anonymous Coward · · Score: 1

    A feature comparison between Postgis and MSSQL server

    http://bostongis.com/?content_name=sqlserver2008r2_oracle11gr2_postgis15_compare#221

    I've always used postgresql. Cross-platform, well documented, well supported, solid performance. What's not to like?

      Also ties in quite well with other open source geospatial projects like qgis, http://qgis.org , and geoserver, http://geoserver.org.

    There is also a drupal module geospatial module that uses postgis, http://www.geops.de/blog/64-spatial-data-and-drupal-7

    If you are looking cloud, it costs 41% less to run your linux instance on Amazon than a windows instance.

  40. For Non-Profits by Anonymous Coward · · Score: 0

    http://home.techsoup.org/ --> Great site for MS software cheap for non-profits. Instead of debating which software solution is best. If you have good guys giving their time, and they want a MS solution, then give it to 'em cheap!

  41. Think this through by Anonymous Coward · · Score: 0

    As someone has already pointed out, your developer is far more expensive than the software. So the more you can get done without custom code, the cheaper the solution.

    Also, MS does give significant cost breaks for non-profits.

    Finally. there is nothing to prevent you from opening up the source of the part your actually produce.

  42. PostGIS (app server for PostgreSQL) by Dreben · · Score: 2

    I've been doing geospatial development since 1992 when Genasys (defunct) released the worlds first web mapping server, Web Broker (ESRI's IMS wasn't released until 5 years later). At the time the only COTS option for managing spatial data within an RDBMS was Sybase's Spatial Query Server, which provided slightly more geometry options inherent within MySQL today. MySQL geometry features should be considered primitive at best, far from a full-featured implementation. On the other hand, PostGIS, is full featured and the only open source implementation I know of that adheres to the Open Geospatial Consortium's 'Simple Features: Types and Functions 1.1' specification. It is very robust, scales well (in contrast to MS SQL) and you can't beat the price or ease-of-mind that comes with being licensed under v.2 of the GPL. Additionally, on comparable hardware, in terms of reliability, performance, and cost effectiveness, there is no comparison, regardless whether your using Oracle w/Spatial or MS SQL and ESRI's SDE.

    Your developers, as good of guys at heart as they may be, should stay away from the kool aid for awhile

  43. GIS Stackexchange by spandex_panda · · Score: 2

    Firstly, you can post questions here: http://gis.stackexchange.com/ and they will be answered. It seems to be a pretty good community, I have been posting on there for a little while.

    Secondly, I don't use databases a lot, but I recommend that you do what you suggest. Make a Google Map and make a CSV for folks to download.

    --
    like phosphorescent desert buttons singing one familiar song
  44. One additional datum: is this the last question? by rbrander · · Score: 1

    I'd throw in a good work for PostgreSQL as well. But an additional question: is this the last question you'll be asked of this geographic data? Over the long run, if the questions keep coming, you'll want a stable base from which to work. "Stable" means "popular" to some extent. Can you keep finding developers to work on your problems with the base of data and software that you have to work with, or does it depend on a few people knowing all the not-so-popular products you're working with?

    I'm a big open source, fan, but working in a big bureaucracy, I've reluctantly ceded the wisdom of the Microsoft/ESRI "shop" as offering the best chance of quickly replacing people who move on.

  45. Luciad by Anonymous Coward · · Score: 1

    Someone else has probably already posted this, but ESRI is a MS-only solution too. They ditched Unix over a decade ago with ArcGIS 8.

    I'm interested to learn of other, more portable, GIS Solutions as well. I've had the opportunity to play with LuciadMap in the past, but that runs in Java (a language I hate coding in). It is more portable than ESRI and the world has no real shortage of Java Developers. They're a proprietary solution based on the commonly accepted GIS standards. Their license isn't cheap, but still cheaper than ESRI from my understanding. They also have an Android version that was in the works last time I heard from them.

    1. Re:Luciad by Anonymous Coward · · Score: 0

      > I'm interested to learn of other, more portable, GIS Solutions as well.

      Have a look at http://www.osgeo.org/
      Whatever your needs, they are sure to cover it.

      Demo DVD of many of the software projects http://live.osgeo.org/

  46. A bit sad. by tragedy · · Score: 4, Insightful

    Am I the only one who finds it a bit sad that this is considered a hard problem to solve in house? It depends on how you have your database set up, but, you could store your latitude and longitude in different fields as degrees, minutes, and seconds (do you need resolution finer than about 30 meters?, then add more fields, need coarser resolution, do the same). Then, you start at your center point and draw an appropriately sized circle (more on that after) around that point using an algorithm that gives you all the second^2, minute^2, and degree^2 (and larger and or smaller blocks as precision requires) sized blocks that fall inside or touch the circle. Then you craft a select statement for all sites that match that set of blocks. Then, after you have that set, if you don't care too, too much about precision, you're done. If you do, you take the data set that's been returned and you look at all of the sites whose block intercepts the circumference and calculate their distance to the center and throw out the ones that are too far away. If you're using a flat earth (not flat as in pancake, flat as in a perfect ellipsoid) model, then you're done at this point. If you want to consider three dimensional distances on an earth with mountains and valleys, etc. (the "appropriately sized circle" mentioned above should already be taking care of the perfect ellipsoid model), so that a site 100 meters away horizontally but at the bottom of a 1.5 km cliff isn't considered to be 100 meters away, then you need to do more work and you need the altitude of each site in your database as well. Since you can pretty much rely on a fairly low maximum amount of overhang from cliffs and so forth, all you need to do is have an inner circle and an outer "appropriately sized circle" based on some precalculated constants regarding maximum changes in altitude over the whole earth calculated by coordinate block of some given size (computing or obtaining those constants is the trickiest part, put it's not hard, it just requires the appropriate GIS data and some number crunching) and stored in a table. When you compute your inner and outer circles, you just take the local terrain into account and draw the outer circle as far out as any sites in those blocks could possibly be from the center, and the inner circle as far in as they could possibly be. Then you work the blocks from the outside of the max circle to the inside of the min circle (not bothering to search blocks bounded on the outside by other blocks where you've already determined all the sites are inside your max area).

    For calculating the "appropriately sized circle" in the first place, you make use of the Haversine Formula or an appropriately modified (for altitudes) version thereof and some safe margin around the edge. Voila. Now, I know I've fudged past some of the math here, especially for the more complicated cases, but this is still pretty simple stuff, especially for the simpler cases. This is CS Major Sophmore or Junior year stuff.

    1. Re:A bit sad. by Anonymous Coward · · Score: 0

      This is CS Major Sophmore or Junior year stuff.

      No doubt someone will be along shortly to describe a worse solution, but for now yours will stand as a shining beacon of ignorance.

      Get a clue before you spout off nonsense like this. Children might be reading.

    2. Re:A bit sad. by rnmartinez · · Score: 1

      Thanks for the insight, as I am neither a dev or a GIS guy. I will certainly pass on the Haversine formula info as well as your description.

    3. Re:A bit sad. by tragedy · · Score: 1

      Sorry, but my solution works, is simple to implement, and works without major modifications to their existing database. I never claimed that it was the perfect solution, just that it works and that anyone calling themselves a programmer should be able to implement it. Creating a full implementation of an R-tree might be the kind of task that the programmer could get away with calling too complicated. Now, maybe they need more flexibility than just "find x within radius y of point z" but that's the only concrete example they gave in the summary.

      In any case, if you're not concerned about altitude differences, this is a very simple problem. Even with the altitude problem thrown in, you just need the right fudge factors. Over small distances, the sites aren't going to be dense enough that brute force searching within map grids will be a problem and over large distances, you can have a really good idea of what the maximum slope of the earth could possibly be because it's constrained by physical reality, so all you need is a fudge factor.

      When it comes down to it, the solution I listed is functionally similar to a simple r-tree. You have a grid broken up into rectangles of a degree latitude and longitude on a side. Each of those has 3600 rectangles a minute on a side in it, and each of those has 3600 rectangles a second on a side in it. That's a tree. If you draw your circle on the map, and it completely contains any particular degree sized rectangle, you know you don't have to search inside that rectangle and so on for rectangles of size minute and size second. If you need to, you can split your map into different sized rectangles. Overall, for the type of things that seem to be required, my solution seems to be perfectly workable

      Now, maybe an r-tree would be better optimized, but optimizing an r-tree is not actually an easy problem. The fact that you have no suggestions on that tells me that you probably just found the wikipedia article on r-trees through a google search, then didn't even bother to read the whole thing.

    4. Re:A bit sad. by tragedy · · Score: 1

      I hope it helps. If you need to do a lot more than a basic "find x within y units of z" some more general support from the tools being used might be needed. Finding things based on geometry in a database may seem like it requires support within the database itself, but latitude and longitude are coordinates on a two-dimensional grid system, so you don't actually need the database system to do the geometry, you just do it on a grid outside the database, then select those grid squares from inside the database. Probably you don't need to get fancier than that and can just ignore altitude differences. As for drawing a circle based on the Haversine formula, I kind of treated that as trivial in my post and skipped over it. There should be lots of stuff about doing it found in a google search though. You can just create a polygon by going around the center point by degrees. There are lots of resources out there on how to fill a polygon and you need to find all the intersecting rectangles and accumulate smaller rectangles (if you have all the seconds of a particular minute, collapse them into that minute, if you have all the minutes of a particular degree, collapse them into that degree, etc.). It's not dead simple, but this is stuff that's been done and done and done over and over again.

    5. Re:A bit sad. by marcosdumay · · Score: 1

      There are a few problem with your approach.

      First, the Earth isn't a sphere. It also isn't an elipsoid.

      Second, how many rows will be on that database? We normaly use databases when we have a non-trivial amount of data, so that is probably what he have. Now that you know how to calculate distances (you don't, but let's pretend you do), how do you efficiently search for rows that are within 1000km of any random point?

      Third, why would his developers reinvent a square weel when there are perfectly good circular ones available at the internet for free?

    6. Re:A bit sad. by tragedy · · Score: 1

      The first two problems you mention aren't really problems, at least not problems with my approach. The second is a problem mainly because you're proposing something intrinsicly hard then demanding to know how my solution will do it simply.

      First, although the earth is not a perfect sphere, and is technically referred to as an oblate spheroid, it is actually very, very close to a perfect sphere. It deviates from perfectly spherical by only a third of a percent. Using this approach, and for the article submitters purposes, that deviation can be completely ignored. This software isn't for people to compute ballistic trajectories from point A to point B, it's to give people an idea how far they are from various things. Clearly it only gives people a very rough idea since we don't have flying cars, so they'll have to take roads to get there.

      Second. Now you're just descending to personal insults. I don't know how to calculate distances? Clearly I do, to within acceptable tolerances. That's the point of the Haversine formula I linked to. Oh, right, the earth isn't a "perfect" sphere. Neither is any real sphere in existence or that can exist. Sorry Plato. If you're happy with non-perfect results, then the distances I can compute with my methods are fine for all practical purposes. If you can provide perfect results then you must be the magical man, from Happy Land, who lives in a gumdrop house on Lolly Pop Lane! The reason for that is that you clearly don't live in the real world. So, since we've established that I can, in fact, compute distances that are good enough, the answer to the question of how you efficiently search for for rows that are within 1000 km of any particular point was actually in my original post which, if you read, you clearly didn't try to understand. I'll try to explain it simply and generally, then I'll address your specific 1000 km example. The way it works is that you select an area (a circular area in this case, but you can use others) on a latitude/longitude grid and you determine which degree-sized, minute-sized, and second sized grid blocks there are in that area. If an entire degree sized block fits inside the area, then you just need that degree sized block and you can ignore the minute and second sized blocks inside it, and for the minute-sized blocks you can ignore the second sized blocks within it and so forth. Then you form a database query and you pull in all rows that match whatever other criteria you have and whose latitude and longitude numbers match up with the list of blocks you've created. I should note at this point that if you're going to claim that the data set will be too large, that it will be too large no matter what method you're using. Anyway, all selected blocks that don't intersect the circumference of your circle are automatically accepted as being inside your search area and you don't need to do any computations on them (unless you're doing it three dimensionally, in which case you just have to have a second circle inside your first circle representing the tolerance. Then you go around the edge of the circle, and look at only those second (or larger/smaller depending on your requirements) size blocks that actually intersect the circumference of your circle. Inside those blocks, you check the coordinates of each row (or, if you decide that you're going to allow a +/- 31 meter tolerance, you just don't bother) against the center point and see if it's within the search area or not. If it is, you keep it, and if it isn't, you drop it. This is real world data so, barring errors or shenanigans in the data set, there's going to be an upper limit on how many rows you'll have inside each second sized block (
      Now, on to the specific example of 1000 km. A degree is a little under 111 km long. A circle with a radius of 1000 km is going to have a circumference of about 6284 km, and an area of pi million km^2. Since a square degree is about 12233 km^2, the circle will contain about 256 square degrees. Most of those will be solidly within the circle, so you can select th

  47. Although I use databases for much simpler things.. by axlr8or · · Score: 1

    I'm afraid I'd have to put my eggs in the longevity basket. Databases come and go. Open source seems reasonable to me for that reason alone. Another thing, if your 'guys' are MS guys it still might be security in the bag to use something java related. I said MAYBE stone throwers be still. .NET was always annoying and now its interest is waining. Would it hurt to be able to platform hop? Nope, because even managing parts its been nice switch machines and locations. Furthermore doesn't PHP and something like MYSQL click?

  48. GvSIG by jcfandino · · Score: 1

    I'm not into GIS but I once attended a presentation about this system.
    Maybe it can help, meybe not.

    http://www.gvsig.org/

  49. Re:Obvious answer by _Sharp'r_ · · Score: 4, Insightful

    This may be too obvious to be helpful, but since the submitter mentioned that they use Drupal on top of their database, why not just use one of the Drupal Google Maps modules as a starting point?

    Google Maps Tools provides the very proximity function he's looking for (among other things) and there are many other easy integrations with Google Maps he can use as well.

    That said, if he really wants to do the calculations at the DB layer, then switch the installation to Postgres GIS as mentioned elsewhere.

    --
    The party of stupid and the party of evil get together and do something both stupid and evil, then call it bipartisan.
  50. EVE ONLINE by Jimekai · · Score: 1

    If you can stomach their dog-eat-dog world of AI agents long enough to discover that their data structures are based around the same ESRI core software and that the PCA routine VAR2VEC lies at the heart of their analysis, then you'll conclude that putting your loadings in XML makes a great interface.

    --
    Argumentum ad Probabilitum
  51. The hard part of this ... by Skapare · · Score: 1

    ... to me is the cost of obtaining all the data in a usable form. The logic itself would be easy.

    It could be done very easily in a no-SQL solution. Doing it through SQL because some SQLover is making decisions would be only slightly harder. The SQL lookup would be delivering 4/3.14159 times as much data as actually needed for a circular result, and then that would be filter by whatever front-end or back-end code to cleanly clip off the corners, of the SQL implementation didn't have the math to do it (and I might not trust SQL to do that kind of stuff as efficiently as it could).

    Let my logic organize the data into grid squares in files and I could make this work very fast. But I need the data (or at least uniformly spread random sample of a few billion items) to test it.

    --
    now we need to go OSS in diesel cars
    1. Re:The hard part of this ... by linuxwrangler · · Score: 1

      Partially true. Generally obtaining the data is one of the biggest efforts - at least if you have to start from scratch or pay for it. But you may find open or free sources as well. Openstreetmap has data exports that can be imported into PostgreSQL/PostGIS. Some government entities,like my county, provide GIS data for their areas as well (http://www.ccmap.us/).

      The "easy" part isn't as trivial as you aledge. Provided your data includes the necessary information, geospatial queries can allow you to write a single query to answer questions like "how many miles of federal highway are in this city?", "how many acres of watershead are in Senator Smallberry's district?" or "list all lakes with a shoreline within 5km of the nearest edge of this superfund site". A geospatial database has the required data- and index-types to enable efficient storage and retrieval of data to answer those questions.

      But there's more. The output should integrate with a mapping program to present the results graphically so when someone asks for a map highlighting all roads within 1000 yards of a school boundary, you are ready.

      And then there are other details with which to contend. Like datums/projections. NAD27? NAD83? WGS84? Numerous local datums.

      That's a lot more than I want to reinvent when I can download free and open-source programs that will do it efficiently for me.

      --

      ~~~~~~~
      "You are not remembered for doing what is expected of you." - Atul Chitnis
    2. Re:The hard part of this ... by gbjbaanb · · Score: 1

      first you say SQL would search for the data in squares and then clip off the corners for circular results, and then you say you want to organise all the data for your method into grid squares....

      I think you'd be surprised at what the SQL GIS functionality can do. It isn't doing a query "between x and y" and then running a Pythagoras calculation on each point.

  52. Re:Proprietary, definitely. by Panaflex · · Score: 1

    As someone who works and has a view into both open source and proprietary code - I can without a doubt say you're absolutely wrong.

    The correct solution is to look at the problem, identify possible solutions, evaluate them and choose the best product which covers your needs best.

    There is *PLENTY* of bad code out there, both COTS and OSS - there is also some amazing and brilliantly good code out there as well.

    --
    I said no... but I missed and it came out yes.
  53. My $0.02 on GIS tools by Bob+the+Super+Hamste · · Score: 2

    I have had a fair amount of success using open source GIS tools for one of my side project to create a hunting map book. I am not too sure of how well either one would work for what you are trying to do but I would be surprised if they didn't. The 2 tools I have had the most success with are uDig GIS and GRASS GIS. Both of them will run on Window, Mac OS, or Linux just fine, they all can process shape files, and DB input as well as geo tiff files as well as other file formats. Another popular OS GIS program is Quantum GIS. When I started I found OSGeo4w which had a bunch of open source GIS programs compiled for windows with everything you need and tried out a few of them and found 2 that best suited my needs. At the time I know it included GRASS, uDig, QGIS, and a couple of other ones, you might want to check out OSGeo as well as there may have been other projects that have started or better meet your needs.

    Here is an example of some of what I have done. It is a map of the MN deer areas showing the antlerless deer harvest per square mile for each area in relation to all the others during the archery season. This map is a 10 year snapshot where the darker area indicated more deer were taken per square mile.

    --
    Time to offend someone
    1. Re:My $0.02 on GIS tools by marcosdumay · · Score: 1

      And, of course, all of those use PostGIS at the back end.

    2. Re:My $0.02 on GIS tools by Bob+the+Super+Hamste · · Score: 1

      No disputes there. I haven't played around with that end of those tools so I didn't want to speak to that. I have used the vector and raster input and output features as well as the cartography features as those are what I cared about.

      --
      Time to offend someone
  54. You are not the only one. by Skapare · · Score: 2

    How effing accurate does such a thing even need to be in a social networking context? Still, it wouldn't be hard to get this down to sub-meter accuracy. It could be hired out if need be on one of those programming task sites for under $1000 (far less that the $20000 initial outlay to put up a decent couple of machines to do it in an MS-SQL way).

    I suspect there's a band of "we are scared of maths" programmers somewhere near the OP.

    --
    now we need to go OSS in diesel cars
    1. Re:You are not the only one. by tragedy · · Score: 1

      I was just trying to cover the what ifs for anyone who says I'm oversimplifying and that the geographical functions in mssql provide this or that feature that I haven't covered. This is overall a pretty easy problem to solve. Optimizing it would, of course, be more of a problem, but optimizing it probably isn't necessary without a really massive data set. The approach I outlined has the up side that the circumference of a circle grows linearly in relation to its radius and the Earth itself is close enough to a perfectly smooth sphere (from the point of view of a wide search area) that the actual area within which you have to check distances can only grow so big. Also, presumably, the sites are not going to be at least tens of meters apart (barring errors in the dataset, or overloaded site labelling), so there's a density limit. So this really can be brute-forced without much thought and a bit of testing afterwards.

      So, I absolutely agree, any programmers uncomfortable about whipping up something to do this must be scared of math. Or they're making excuses to get the tool they're comfortable with in place. Or, possibly, they're playing a longer strategic game and it's some other feature of mssql they really think they'll need along the line so they're pushing for it by pretending not to be able to do this.

  55. Then MySQL what? by Anonymous Coward · · Score: 0

    ...with regards to geometry built in then MySQL...

    Then MySQL what? The OP should finish their sentences if they actually want help. I have a feeling given the intentional bad grammar and illogical attacks on open source that Slashdot is the victim of yet another troll.

    1. Re:Then MySQL what? by Anonymous Coward · · Score: 0

      The OP is an illiterate troll. There are too many idiots now on this site that get caught by troll bait.

  56. no SQL by Anonymous Coward · · Score: 1

    One of the comments above proposed a no SQL solution. See the introduction to no SQL in Wikipedia ----

    http://en.wikipedia.org/wiki/NoSQL

    There are good, and tried, Open Software tools to implement no SQL solutions.

  57. Yet another Canadian immigration scam ... by tomhudson · · Score: 5, Informative

    Canada is finally cracking down on fake immigrants. One of the biggest problems is the abuse of the immigrant investor program which this business apparently is trying to exploit, if you actually look at their web site:

    About Rodolfo Martinez

    I am the Executive Director of Ontario Immigrant Network, and currently we are working to connect newcomers to rural business succession opportunities.

    In other words, "buy your way into the country by buying some dead persons' business."

    Nice scam - too bad Mr. Martinez isn't licensed. The Canadian government has required licensing of anyone doing immigration consulting since 2004 because of the number of scams and abuses.

    As of April 2004, the only immigration and citizenship consultants who will be recognized by the federal government department of Citizenship and Immigration Canada are those who are members in good standing of CSIC or lawyers who are members of a Canadian provincial or territorial law society.

    1. Re:Yet another Canadian immigration scam ... by rnmartinez · · Score: 5, Informative

      Hi Tom, just a bit about our group. We don't run any immigraton scams, and certainly aren't looking to have people buy dead people's businesses. We don't even deal directly with immigrants (i.e. we are not immigration consultants). Our focus is to work with rural communities that have ageing demographics and help them attract immigrants to take over businesses where an ageing owner is looking to retire but may have no clear successor. Our ideal immigrant is one that has already been in the country for a period of about 2 years. Essentially, we are trying to stop smaller communities from suffering mass business closure, and this technology piece will play a large part. I hope that this helps to clarify.

    2. Re:Yet another Canadian immigration scam ... by tomhudson · · Score: 5, Informative

      First, a quick peek at your web sites over the last 6 years:

      Finally, an online networking service that connects you with influential people who can reshape your career, business, and personal life

      Immigrant networking
      Talk to your peers
      Find inside jobs
      Make new friends
      Solve your problems
      Best schools to go for
      Finding a good doctor
      What car to buy
      How to buy a house
      And much moreâ¦

      It's a one-letter-off typo squat of immigrantnetworks.ca - cheesy or sleazy, take your pick. Your domain has a history of trying to find some way to intermediate into the whole immigration thing.

      Now, when you say. "Our focus is to work with rural communities that have ageing (sic) demographics and help them attract immigrants to take over businesses where an ageing (sic) owner is looking to retire but may have no clear successor", that is a problem.

      First, such activities have been regulated by federal order since 2011. Neither you nor anyone else can offer to help immigrants with such things as where to locate, or business opportunities, either directly or indirectly, without being licensed.

      Second, if there is "no clear successor", then the property or business cannot be sold until probate, and no amount of GIS data can "fix" that problem.

      Third, if the problem is that nobody wants to buy a business at a certain price, they can always lower the price. At the right price, everything sells. If it doesn't sell at any price, it's not viable. Conning an immigrant into buying a dying business only works if their real goal is to show that they are establishing roots - it does nothing to stop the "brain drain" - people leaving because they lack opportunities. In fact, it exacerbates the problem because the next generation has to compete against "false bidders" - bidders who are really buying a "ticket to permanent Canadian residency" to buy the local business. In other words - you would be, at best, part of the problem, not the solution.

      Fourth, trying to hook up immigrants to buy such businesses, which "coincidentally" help to show that they have established roots, is a regulated practice, and I already checked - you are not licensed.

      Fifth, I also noted that you put your name as an image, instead of plain text, to avoid being picked up by search engines. Inquiring minds would wonder about that ... but after looking at the thin gruel you have to offer, I'm not all that surprised.

      Sixth, nobody needs GIS data to do this - and trying to sell such a concept, either to communities or to immigrants, is akin to "Search Engine Optimization" scams - anyone can find such properties / opportunities with 10 minutes work on Google. What next - "Oh, pretty graphs?" Oh, wait, your terrible (as in first year high school) "white paper" already does that. Yes, I read it, and it really sucks.

      Seventh (yes, I'm on a roll) your original question showed that neither you nor whoever you're working with have much of a clue about databases. You don't need ANY "geometry functions" to do what you are trying to do.

      I could go on ... but I think I've made my point, which is that your business activities raise red flags, and the the whole precept on which you claim to operate (to "stop the brain drain") is flawed and will have the exact opposite effect. Cui bono? ... or more to the point - "what's in it for you?"

    3. Re:Yet another Canadian immigration scam ... by gmhowell · · Score: 1

      Cui bono? ... or more to the point - "what's in it for you?"

      I'm going to go out on a limb here and take a wild guess: money.

      --
      Jesus was all right but his disciples were thick and ordinary. -John Lennon
    4. Re:Yet another Canadian immigration scam ... by Anonymous Coward · · Score: 3, Insightful

      First, such activities have been regulated by federal order since 2011. Neither you nor anyone else can offer to help immigrants with such things as where to locate, or business opportunities, either directly or indirectly, without being licensed.

      which says more about the right wing jingoistic xenophobic jerks which are currently running the Canadian government than anything else.

      thought experiment: extend "immigrants" back to anyone who is not first nations. making it illegal to help people in need... geez, has it gone from terry fox to this in just 30 short years? completely and utterly disgusting behaviour.

      I reckon this fellow has both a responsibility and a moral obligation to help his fellow immigrants, immoral laws should be broken at every opportunity. (in a moral and responsible way of course, I've no idea about his particular business practices)

      since 2011? so it's at least 2 weeks old?

      why all the hate?

    5. Re:Yet another Canadian immigration scam ... by DarwinSurvivor · · Score: 2

      Those laws are to PROTECT immagrants. They protect them from people just like the people we are discussing who convince immagrants to go into deals that they don't understand so they can become "citizens". What happens later is that they eventually discover how screwed they got in the deal, lose the business and end up just as stuck as they were to start with, minus quite a bit of money. If his "non profit" what-ever is truly legit, why not simply get licensed?!?

    6. Re:Yet another Canadian immigration scam ... by Anonymous Coward · · Score: 1

      Just FYI, "ageing" is not incorrectly spelled -- it happens to be the British spelling, which Canadians usually prefer.

    7. Re:Yet another Canadian immigration scam ... by pevans · · Score: 1

      I don't log in much -- hardly ever in fact. Anyhow:

      You (@rnmartinez) are (not to put too fine a point on it) acting like a septic-sucking scum bag. I just wasted an hour of my life researching your sorry ass. It's the first time I ever wished I had less google-fu.

      I would really appreciate it if you'd just leave slashdot off your guppy list, because we aren't listening anymore and never will thanks to tom.

      This would be a very good time for you to re-evaluate your goals in life.

      Trying to avoid Hell clearly isn't at the top of your current agenda, but you might at least give it a passing thought.

    8. Re:Yet another Canadian immigration scam ... by tibit · · Score: 1

      I don't think one necessarily needs avoidance of hell as a reason not to be a dick. RNM is demonstably beyond help. There are some people who just don't ever give a shit and they are perfectly capable of screwing everyone around, but they have very good intentions all along and they are self-deluded in their belief that they are somehow doing good.

      --
      A successful API design takes a mixture of software design and pedagogy.
    9. Re:Yet another Canadian immigration scam ... by rnmartinez · · Score: 3, Informative

      Hi Tom, I appreciate your concerns, and I hope I can address them here. It sounds like you may be in the US (the poster below is right, "ageing" is correct spelling in Canada) so I will point out a few differences as well. Our group came into existence in 2009 and that is when we took our domain. I don't know what it was used for previous to that, but obviously it was some type of spam. In terms of being one letter off of another group, I admit, we probably didn't research it enough but we were a non-profit starting up on a volunteer basis. It fits our name, and we have also added oinweb.ca for URL shortening and to help alleviate confusion. Yes, there is federal regulation surrounding these activities, however we do not work directly or offer any services to any immigrants or individuals. We are not involved in the settlement process, and we are not involved in any business transactions. The bulk of what we do is research, and from there come recommendations that communities are welcome to take or not. These licensing requirements do not apply to us, and I doubt that we would even be allowed to become licensed because of the nature of our work. We simply do not have any contact with any legal or business transactions. Second, business succession may have a different meaning in the US. In Canada, the process is meant to take place while the entrepreneur is alive. Were we dealing with estates, then yes, you would be correct. This example may help to clarify: Imagine that you were a successful business owner for 20+ years, but because of skewed demographics the bulk of your towns population is too old or too young to buy it. If you do have kids, they have likely left for a larger city like Toronto. This means that a profitable business, that could be a great opportunity for an immigrant could disappear, and potentially even trigger a domino effect (i.e. more businesses closing). We have seen this in some communities, particularly those hit by the decline in the auto industry. This doesn't mean that the towns are dying or dead, but it certainly can make things challenging. The GIS data portion doesn't relate to this, but certainly helps us in research. Canadian census data is not as rich, un-aggregated or recent as US census data appears to be (although my experience with US data is highly limited; I know that in Canada we used to have one long form census every 5 years that was recently abolished by our government). Also, until recently, this data was highly expensive. To obtain 2006 data for Ontario used to cost approximately $6000, which is quite a bit of money for a non-profit. While GIS does not solve or replace this, it is a great analytical tool. Third, I agree completely, that businesses will only sell for that they are worth. The issue is not value, but rather a highly skewed demographic. And again, our intended audience are those already in Canada, the majority would already have a legal status or be well on their way to obtaining it. Without at least permanent residency, I imagine that just buying the business itself would be incredibly difficult, as I can't think of a bank that would finance the deal. In terms of brain drain, we are not looking to stop, but rather bring new people in. I can't stop youth exodus, but I can try to promote rural regions as opportunities. There aren't really false bidders, but rather no bidders. Fourth, again, we do not offer any services directly, are not funded to do so, and do not receive any type of cut from any transactions. We are not realtors, lawyers or anything similar, simply researchers offering our ideas to interested communities. Fifth, I am not sure if you mean my name personally or my groups. This is a product of our website. If you can clarify, I can certainly look into it. Sixth, as researchers, we can choose what tools we want to use, period. You cannot decide what we do and do not need. And many communities already use GIS, but not in this fashion. Currently, we are not charging any of them for our work, so I don't see the harm in visualizing

    10. Re:Yet another Canadian immigration scam ... by rnmartinez · · Score: 2

      We aren't breaking any laws immoral or otherwise, if you see my post above (not sure why line breaks wouldn't show up, sorry for the verbal mess) we don't offer any services directly to immigrants or are involved in any business transactions, but I do agree that we could do more for immigrants.

    11. Re:Yet another Canadian immigration scam ... by rnmartinez · · Score: 2

      Hi, we don't actually deal with the transactions, we are largely research based. If we did move to offering services, then of course we would become licensed.

    12. Re:Yet another Canadian immigration scam ... by rnmartinez · · Score: 1

      If you care to read above (again, sorry about no line breaks), it may help clarify what we do and do not do. What has been described by Tom is not how we operate. If it was then I am sure that there would be a cozy bed in hell lined up for me :-)

    13. Re:Yet another Canadian immigration scam ... by rnmartinez · · Score: 1

      Thanks, the US spelling gets me everytime, especially in Word, even after I tell it Canadian English :-)

    14. Re:Yet another Canadian immigration scam ... by Anonymous Coward · · Score: 0

      Thanks for keeping it civil and for providing some reasonable insight on the matter.

    15. Re:Yet another Canadian immigration scam ... by Xacid · · Score: 1

      7) Geometry Data Types perhaps? There might be some merit to this one if anything. I'm not going to waste any time digging further into the aspects of your feud though.

    16. Re:Yet another Canadian immigration scam ... by tomhudson · · Score: 1

      First off, if you're logged in, please turn signatures on.

      I appreciate your concerns, and I hope I can address them here. It sounds like you may be in the US (the poster below is right, "ageing" is correct spelling in Canada)

      No, I'm Canadian.

      so I will point out a few differences as well. Our group came into existence in 2009 and that is when we took our domain. I don't know what it was used for previous to that, but obviously it was some type of spam. In terms of being one letter off of another group, I admit, we probably didn't research it enough but we were a non-profit starting up on a volunteer basis. It fits our name, and we have also added oinweb.ca for URL shortening and to help alleviate confusion.

      Probably didn't research it well enough? You think? All you had to do was type possible domain names into any search engine to find ones that are close enough to cause confusion. I don't know who your technical staff is / are, but they are not competent on the face of things.

      Yes, there is federal regulation surrounding these activities, however we do not work directly or offer any services to any immigrants or individuals. We are not involved in the settlement process, and we are not involved in any business transactions.

      That's not the entire story. Your web site states "and currently we are working to connect newcomers to rural business succession opportunities."

      The bulk of what we do is research,

      From what little you have on your site, you don't do much of that. Color / colour me underwhelmed.

      and from there come recommendations that communities are welcome to take or not.

      You are indirectly involved in consulting wrt immigrants. "if a third party provides immigration advice or representation for a fee to a client, " - note that it does not specify immigrants - "a client".

      One of the prohibitions is "Advertising that they can provide immigration advice."

      This is what you do - even if it's not directly to immigrants, but to communities seeking to attract immigrants. To CYA, you should first enter into an agreement with CIC. (Citizenship and Immigration Canada) - especially since you indicate further on that you want to make a living out of this.

      These licensing requirements do not apply to us, and I doubt that we would even be allowed to become licensed because of the nature of our work. We simply do not have any contact with any legal or business transactions.

      On the contrary, your web site IS advertising that you offer immigration advice. You need a license or an agreement, in writing, from CIC.

      Second, business succession may have a different meaning in the US. In Canada, the process is meant to take place while the entrepreneur is alive.

      I'm well aware of the business sense of "succession." Again, you are offering to instruct communities in how to attract immigrants to buy out a business - how is that not, either directly or indirectly, offering immigration advice?

      Were we dealing with estates, then yes, you would be correct. This example may help to clarify: Imagine that you were a successful business owner for 20+ years, but because of skewed demographics the bulk of your towns population is too old or too young to buy it.

      Or maybe the price is too high - lower the price, and someone will buy it if it's viable. There are some deals that just aren't viable, even at $0.

      If you do have kids, they have likely left for a larger city like Toronto. This means that a profitable business, that could be a great opportunity for an immigrant could disappear, and potentially even trigger a domino effect (i.e. more businesses closing). We have seen this in some com

    17. Re:Yet another Canadian immigration scam ... by gmhowell · · Score: 1

      Why do you refer to her as 'Tom' when she clearly signed her post as 'Barbara'? I hope you take more care with your 'research', particularly of relevant Canadian and provincial law.

      --
      Jesus was all right but his disciples were thick and ordinary. -John Lennon
    18. Re:Yet another Canadian immigration scam ... by gmhowell · · Score: 1

      You are wasting entirely too much of your limited Internet time on this douchebag. Far better to report him to CIC and hope they can help him see the error of his ways.

      --
      Jesus was all right but his disciples were thick and ordinary. -John Lennon
    19. Re:Yet another Canadian immigration scam ... by tomhudson · · Score: 1
      I figure it's better to make a decent argument, make all the points, than to make only a portion of them - a half-done job is a job not done and all that.

      The *real* problem is that he doesn't see that an immigrant with a PhD who comes here and is, to use his example, "driving a taxi or cleaning toilets" is doing so only until their accreditation is accepted, and they want to stay in the urban centers so they can USE their knowledge - these are people who the country has allowed to immigrate because we hope their training will help grow the economy.

      To instead try to get them to buy a business in North B*ttf**k, Ontario (pop 8,000, mostly sclerotic, and declining fast) is not going to work out well in the end. Additionally, to target immigrants for this scam (because in the end, it is a scam, even if this guy honestly believes he is "doing something good") is racist.

      That he doesn't see it as racist shows one thing - he was telling the truth when he said he grew up in small-town Ontario. I've visited through a few of those small towns. You could plunk then down anywhere in the middle of One-Industry-Town, USA, and be right at home. Unless, of course, you aren't white, in which case you'd better be either running the dry cleaner or a tourist.

      And it's the same as in Nowhere, USA - the people are super nice, but a bit "behind the times" socially if you catch my drift, and have a tendency to resist change. After a while (2 - 3 days), you get to feeling like you're in some time warp, and you almost expect that the TV will suddenly start receiving only black-and-white.

    20. Re:Yet another Canadian immigration scam ... by couchslug · · Score: 1

      Exclusivity protects people who OWN a country (citizens) from those to whom they do not wish to GIVE their birthright, or have it sold to under false pretenses!

      I own my home, and shall choose who I let into it.

      --
      "This post is an artistic work of fiction and falsehood. Only a fool would take anything posted here as fact."
  58. Re:Lower costs? by Grishnakh · · Score: 2

    The problem, as I see it, is that the original poster is comparing the wrong things; namely, he's looking at MySQL for some odd reason, when several other people have here already pointed out that the de-facto OSS solution to this is PostgreSQL and PostGIS. Sounds pretty much like a drop-in solution to me.

  59. Moral Dilemma ? by Anonymous Coward · · Score: 0

    You have identified the software that fits your needs.

    The people that will be doing the job have advised you what tools they prefer
     

            Dogbert: I'm going back to my old job as a network systems administrator.
            Dilbert: Why?
            Dogbert: I'm attracted by the potential for reckless abuse of power.

    1. Re:Moral Dilemma ? by tragedy · · Score: 1

      Has the article submitter actually identified the software they need? It's trivial to implement something that will draw a circle on a grid, identify all the grid squares that might have points in that circle, submit an sql query for all sites inside those grid squares, then pick off all the points that don't fit in just the edge squares. The fact that they don't recognize that and think that they they need some vendors special solution to do it all in the database engine suggests that they either don't have the expertise to make such a determination, or they haven't thought about the problem too hard.

      As for the people doing the job telling you what tools they prefer... It probably depends a bit on what their job description was when they were hired, but if they say they can't do what I wrote above, then they're either lying, or they haven't thought about the problem too hard either. Or, possibly they're incapable of implementing such a thing and think that all programming involves calling from libraries written by professionals.

    2. Re:Moral Dilemma ? by stewbacca · · Score: 1

      I like your response. It's a refreshing change around here. Normally it goes something like:

      "I've identified the software that I think fits your needs, but as a system admin, I can't be for sure because I know nothing about what you really do, but here's the software I dictate you must use, because I have a vested interest in my job security, so I need to keep pushing out crappy software I know how to support (and know will require lots of support)."

  60. Definitely look at GeoDjango by Anonymous Coward · · Score: 0

    If you plan on creating a website using your data, perhaps exposing a public, restful api, geodjango is almost without compare. The geodjango orm makes complex queries, coordinate transformation and calculations straightforward and transparent. Check out http://www.everyblock.com/ the flagship geodjango project. GeoDjango works with most of the GIS databases, but is best coupled with PostGIS.

    As a phd student working with spatial data, I cannot express how invaluable geodjango has been for me.

  61. Seriously... by afabbro · · Score: 1

    The only issue there, is that I am not too fond of Oracle having ownership of MySQL. Should I be directing $20K into replicating these functions into something like MariaDB?

    If this is how you make your technical decisions, no amount of advice will help.

    --
    Advice: on VPS providers
    1. Re:Seriously... by Anonymous Coward · · Score: 0

      Yeah, because technical decisions are completely detached from the real world and there is no interaction whatever. Companies don't go bankrupt, merge or get acquired and all products go on for ever and ever. And the products are designed by taking into account technical aspects only...

      Perhaps this is indeed how things work in fairyland, my dear.

  62. If you go with ESRI products... by Anonymous Coward · · Score: 0

    I've run ESRI products on Linux and Windows platforms, and even though I'm a linux admin first, I would have to recommend Windows/MSSQL if you do choose to go with their products. Although they technically support Linux platforms, I found that their support was abysmal, and when we moved to ArcGIS on Windows, suddenly things worked much better, and their support actually had answers when we needed it.

    1. Re:If you go with ESRI products... by Acheron · · Score: 1

      (accidentally posted as AC above... thought I was logged in...)

      I've run ESRI products on Linux and Windows platforms, and even though I'm a linux admin first, I would have to recommend Windows/MSSQL if you do choose to go with their products. Although they technically support Linux platforms, I found that their support was abysmal, and when we moved to ArcGIS on Windows, suddenly things worked much better, and their support actually had answers when we needed it.

  63. Drupal does it already.?? by Anonymous Coward · · Score: 0

    Drupal handles queries against location by proximity with the Location module and Views, or I don't see what the issue is.

  64. Public Data, CouchDB and Geocouch by dixon1e · · Score: 1

    It's probably not the right time to change everything in your shop, but you could learn a lot from Geocouch and CouchDB. The technology for mobile and remote collection is very powerful using these tools, and it's worth beginning to learn how the NoSQL databases work in any case. MongoDB also has a GIS facet. For further discussions on Public Data please see Max Ogden's work: http://govinthelab.com/diy-open-data-how-to-start-a-public-data-catalog-in-your-city/

  65. Re:Unprofessionalism at its finest by Jason+Earl · · Score: 1

    He's got a solution that works, but that is less than ideal. His developers, like developers everywhere, want to chuck the existing software and start from scratch in a different language, using a completely different platform. Even worse, switching to the new platform will require a substantial upfront investment in licensing that can not be recouped if the project fails.

    Heck, the new platform isn't even removing Free Software fromt he equation as DotNetNuke is not commercial software. So the new platform will still rely on the whims of a Free Software development team. The only difference is that Drupal is at least an order of magnitude more popular than DotNetNuke.

    As clueless as the original poster seems to be--PostgreSQL + PostGIS seems like an obvious answer if what you want is a Free Software database that works with Drupal and supports spatial functions--he is clearly at least twice as qualified to make these decisions as the clowns he has working for him.

  66. Re:Lower costs? by Anonymous Coward · · Score: 0

    Don't kid yourself. You're NOT a F/OSS fan.

    You're spreading a bunch of FUD about F/OSS. lol F/OSS FUD. Even heard of using a Linux distro? I'm using Fedora and Mandriva and things work very well together.

  67. geokit by Aurisor · · Score: 1

    I worked for a large location-based mobile / web startup. Pretty much every web request dealt with a lat / lng. We used geokit ( http://geokit.rubyforge.org/ ) and it worked great.

    20k to move to a completely different platform over one trivial problem is just wrong.

  68. My Experience by Anonymous Coward · · Score: 0

    Well, I've done geospatial development using ESRI, PostGIS and MongoDB. I've evaluated Oracle Spatial, but do not have direct experience running it.

    My experience is that ESRI is quite difficult to configure and run, and even when it is running, some operations are just plain slow. If you need to render your own map layers it might be useful, but if all you're looking for is spatial queries, it's way too expensive/slow/difficult to justify.

    PostGIS coupled with Google Maps for map data and OpenLayers for the web front-end is what we went to after finally burning out on ESRI. That works great for our needs, but if you don't need a lot of customization, just the plain out of the box Google Maps widgets work fine too. PostGIS is easy to work with, mature and (compared to ESRI on the same hardware) very fast. And there's definitely something to be said for being able to mix spatial queries with non-spatial queries involving joins, which ESRI can't handle. This is definitely a recommended configuration. And most Linux environments have pre-build binaries for PostGIS available, so it's easy to install.

    MongoDB has a GIS implementation that's pretty performant, but quite limited in features and is still pretty young. They can't use indexes to find polygons that contain a given point, but they can find points within a polygon, stuff like that. That said, they targeted the "easy" cases first for geospatial support, and their definition of easy looks a lot like what you need to do, so it might do everything you need. In general it's a transition and a different way of thinking using MongoDB instead of a more traditional RDBMS, but if I were starting a new project I'd probably go with it. I wouldn't go with it purely for the spatial support though.

    Oracle Spatial looks very nice from all we've been able to read about it, just stupidly expensive, and I couldn't find anything it's supposed to do better than PostGIS anyway.

  69. Python Shapely by Anonymous Coward · · Score: 0

    Get access to Python and download the shapely package. It rocks.

  70. MySQL does have spatial feature support by Animats · · Score: 1

    MySQL does have spatial feature support. The underlying data structure can do point-in-rectangle tests cheaply. More complex geometry is supported, but the query engine will generally construct a bounding rectangle for index lookup purposes, then sequentially test the hits against the more complex geometry.

    I've tried this, and it does work. It's good enough for efficient "all gas stations within N miles of here" queries, for example.

  71. PostGIS is probably what you need by Anonymous Coward · · Score: 0

    For what it's worth, OpenStreetMap uses PostgreSQL successfully..
    see stats here http://wiki.openstreetmap.org/wiki/Stats

  72. Right to privacy, and use PostgreSQL by msobkow · · Score: 1

    We research issues in Canadian Immigrants, and found that there was a lack of recent, unaggregated information.

    Could that be because it's ILLEGAL to identify individual immigrants as it's an invasion of their right to privacy?

    FFS, sprout a brain! The government HAS the detailed data, but you are NOT allowed to access it directly.

    As to GIS, check out PostgreSQL. I hear their GIS support is pretty powerful, but I've never coded for it. Certainly I'd recommend PostgreSQL over MySQL any day of the week.

    --
    I do not fail; I succeed at finding out what does not work.
    1. Re:Right to privacy, and use PostgreSQL by msobkow · · Score: 1

      To paraphrase George Carlin:

      What good are data privacy laws if every schmuck with a $2 database can fuck up your privacy?

      --
      I do not fail; I succeed at finding out what does not work.
  73. BIG REPEAT by Jane+Q.+Public · · Score: 1

    I responded to your early post before it went "live" here.

    Keep in mind that the following answer only applies if you're not doing a full-blown GIS application, but only calculations like "find all the X that are there within Y miles of location Z," and "How far is it from point X to point Y?"

    And if that is the case, there are software libraries (I know of some in Ruby, I know there are others) that, in conjunction with Google Maps (or Yahoo Maps and even a couple of other services), mean YOU DO NOT NEED COMPLEX DATABASE INTERACTION. So unless you're doing a complex GIS operation of some kind, database performance per se is almost completely irrelevant.

    All you need to do is store two floating-point numbers: latitude and longitude. And you get these numbers in the first place (the first time you do a lookup) from Google Maps itself... even that does not need sophisticated math or database operations. You just get the numbers from Google and store them.

    I did an application like this for another site not long ago, and I could do another one (stand-alone) in under 2 hours, using MySQL, with performance that is perfectly acceptable.

    But if you are also truly concerned about Oracle having control of MySQL (and I would not blame you if you did), you can use MariaDB instead, which is a drop-in replacement for MySQL, written by some of the same developers who originally wrote the MySQL software, apparently because of the same concerns you have. For most purposes it is 100% compatible with MySQL, except for some performance enhancements.

  74. Re:Obvious answer by dokc · · Score: 1

    It's not a stupid question, it's a flamebait used for trolling!
    There real question is why this crap is accepted as a story and especially why is allowed that he put a link to his "non-profit organization". He just wants free advertisement and to generate traffic to his site.

    --
    In love, war and slashdot discussions, everything is allowed.
  75. Avoid... by Anonymous Coward · · Score: 0

    .NET NUKE if you can help it. We have two projects in our shop utilizing this CMS as a framework and it's a bear trap. Also, we've accomplished a similar goal to yours using MySQL, it all boils down to math (and it can be applied to a query.)

  76. You have multiple problems by Anonymous Coward · · Score: 0

    Your developer is a Windows drone, it seems. If he only reads Windows magazines, Windows articles, have Windows-only mindset. It's like a religion, and he will try to justify everything as perfectly right because it works on Windows.

    Your developer is either too slow to learn, or is afraid of learning an trying open source stuff.

    Try out, and read about the tools they have for:

        http://www.openstreetmap.org/

    Look at their map data source that can be downloaded from multiple places. Yes there are "open source datasets" for the whole globe, or by continent, by country, by state... They also have links to numerous open source tools that work with their data. Free, most are also open source.

    Watch out for using Google map data. I think they have restrictions on map data usage. Their data is proprietary, read the Google map API license again carefully!!!

    Your major problem, too, is to have your servers running Windows. That in itself is a huge problem in the long run. If you run some flavor of Linux on your Servers, your developers will have to know enough of Open Source ways to do things.

    Do you know that .NET stuff are being dropped by MS in favor of newer MS tools, right? Then why even bother with .NET?

  77. Re:Obvious answer by Bert64 · · Score: 1

    Also consider the existing code that they already have, most of which would need to be rewritten...

    --
    http://spamdecoy.net - free throwaway anonymous email - avoid spam!
  78. Postgres by Bert64 · · Score: 1

    Take a look at PostgreSQL with PostgreGIS as mentioned... Not only will this integrate nicely with Drupal and replace MySQL with minimal fuss, but it also avoids the issue of being associated with Oracle.
    I believe there are also existing drupal modules for working with map data and specifically google maps.

    Incidentally, if you're worried about MySQL because its owned by Oracle, then surely moving to MS would be even worse? At least MySQL can be forked under the terms of the GPL, MS products cannot be so you are totally beholden to a company every bit as ruthless as Oracle, and if you go to MSSQL/.NET then you will be beholden to them for your entire stack not just the database.

    --
    http://spamdecoy.net - free throwaway anonymous email - avoid spam!
  79. postgis & friends by iakam · · Score: 1

    fwiw, we use a combination of postgresql, postgis, geoserver, a few in-house developed servlets and apache or nginx on server side for our (rather local-oriented) geo visualization solutions (http://www.gaeaplus.si/ ; non-english, sorry). provides: standards compliance and ability to connect almost any client to it, decent performance, rich geometry support, simple administration, replication and load balancing. I never looked back or considered anything else since.

  80. Why a proprierty display interface not OSM? by Anonymous Coward · · Score: 0

    Your choosing to use Google maps? Why?
    If you plan to open source your data why not use Open Street Map http://www.openstreetmap.org/
    Someone references at the top the tools of cloudmade which is a direct spin-out of OSM
    Open source mapping is getting better and better all the time people like microsoft bing and mapquest use OSM now.
    Go have a look and at least compare google to the tools available with OSM
    I remember one quote about mapping tools on OSM a couple of years ago
    OSM mapping tools are either ridiculously easy or stupidly hard depending on whether you come from the GIS mapping community or are member of the public respectively. OSM mapping tools have got a lot better since then

  81. Dilemma of losers. by Anonymous Coward · · Score: 0

    Oh yay, another "do my homework for me" question. Why you'd even consider the options mentioned as if they were the only ones in town is more than a little beyond me. Really, lmfgify material. Wikipedia has lists of alternatives. Go check.

    And if that's too hard, at the very least check out postgis. Sheesh.

  82. Similar work by Anonymous Coward · · Score: 0

    I used to do work similar to this a few years ago and we used all open source software.
    we used PostGIS for the database, and geodjango for the web page. geodjango had many other open source GIS projects required/capable of supporting(GDAL,proj4,pykml, etc).

  83. Re:Obvious answer by jo_ham · · Score: 1

    For someone claiming to be against the sort of trolling and puerile content that you accuse the OP os posting, you certainly don't practice what you preach, do you?

    He did actually provide an answer - perhaps not one that you want to hear and thus doesn't count as the "right" answer I guess, so must be trolling, right? It's certainly one of the possible outcomes for the original question.

  84. In other words by DaveV1.0 · · Score: 1

    You should be fired for putting your own personal wants over that of the needs of the project.

    You said it yourself "MS SQL offers more functions with regards to geometry built in then MySQL, and my developers (good guys, but MS guys at heart) want me to switch to .net NUKE/MSSQL". Oh, and that quote also shows your anti-Microsoft bias, a bias which seems to extend to Oracle.

    --
    There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
  85. Obvious answer ... Who pwns your data? by OldHawk777 · · Score: 1

    Who owns your data? Id there a lifecycle to consider? Will the data/information/results be used for collaboration, web-services ...?

    Anyone can buy software and wait for patches. Anyone can own software and prioritize patches. Anyone can buy L/FOSS support for a stable product from a foundation/company.

    These days the Q&A (IMO): Are you a responsible owner? What are the valuable assets for your business; virtual-material (information, data, content ...) or hardware/software... products?

    Staying market competitive requires agility and responsiveness, IMO, L/FOSS provides agility and responsiveness in very stable and atypical markets.

    Never choose the brand and never buy the marketing hype, look at what you need to do (resources to requirements) or solutions/success and then proceed.

    Yes; L/FOSS for most, but not all, is the best path/process [Unless you like to point the finger of blame at a brand-name].

    --
    Unaccountable leaders are masters, and unrepresented people are slaves. How do US and EU fare?
    1. Re:Obvious answer ... Who pwns your data? by geoffrobinson · · Score: 1

      It's not like your data is stuck in SQL Server. You can always write a query to get the data out or use an ETL tool that pulls information out and puts it into another database if so desired. That's the whole point of a database. You can get the data out. Even Microsoft's.

      --
      Except for ending slavery, the Nazis, communism, & securing American independence, war has never solved anything.
    2. Re:Obvious answer ... Who pwns your data? by rnmartinez · · Score: 1

      The data would essentially be "open sourced" for lack of a better term (we haven't chosen a specific license yet; any suggestions would be awesome!). The idea would be that interested researchers would contribute their data to our platform. They would waive any type of "copyright" (again for lack of a better term) with the understanding that other contributors are doing the same. We do limit membership as to control the type and quality of data, so in that sense it is closed. We don't have owners per say, but we are certainly socially responsible if that is what you mean. In terms of assets, as a non-profit we really just have hardware and our research is freely available, so I am not sure how you would handle that. I agree with the agility piece, and this is where I do like open source. I understand the hype avoidance, but for me it is more about the philosophies that Oracle or MS follow rather than raw costs/benefits. Oracle/MS may win out, but we are trying to weigh several factors. I guess the main reason that I like open source is that our work could hopefully continue to have some value even if we change direction or worse yet, were to cease operations.

    3. Re:Obvious answer ... Who pwns your data? by OldHawk777 · · Score: 1

      Yes your are right about all DBs, but unfortunately there is frequently middle-ware or other app like a CMS that can make data extraction and migration problematic and costly.

      --
      Unaccountable leaders are masters, and unrepresented people are slaves. How do US and EU fare?
    4. Re:Obvious answer ... Who pwns your data? by OldHawk777 · · Score: 1

      Do you have the conceptual, logical, and physical DB control of the data? If not you are fycked.

      --
      Unaccountable leaders are masters, and unrepresented people are slaves. How do US and EU fare?
  86. Only read this part: by stewbacca · · Score: 1

    I only read this part:

    do I dump $20K into moving everything to an MS solution

    The answer is no. The answer is always no.

  87. Stay Open by Anonymous Coward · · Score: 0

    Dump all the relational Database stuff and index your data textually in Apache Solr or look at one of the big data solutions.Both have considerable support for R-tree spacial searches and have tons of open source alternatives. Your problem seems better suited to this type of tool anyway. Relational databases offer data integrity in the face of a high volume of arbitrary inserts. Good for things like inventory systems and order entry. If you can batch the data in at scheduled intervals you'll have faster searches and you'll be able to scale your environment across cheaper commodity hardware.

  88. Re:Obvious answer by Joe+U · · Score: 1

    I went back to look for that answer you told me about, was it in the first or second post?

    Let's see, in the first one he accused the poster of having multiple aliases, went off topic about microsoft in another unreferenced thread. Provided some quote from another thread, again, no clue where it came from. Then went back to accusing the poster of having multiple aliases and trolling. Finished up with a 'why don't you provide an answer' when the OP did provide one, not a clear one, but an answer none the less.

    Now, on to the second post.

    "For your answer to have been correct, the OP would need the ability to foresee the future." Not really sure why the OP needs psychic powers to know that you evaluate and use the right tool for the job. I don't remember psychic training in my application design class, but I'll assume I was out that day. Either way, I'm not sure what the question was in that case .

  89. Do your homework. by hey! · · Score: 1

    Is it *really* impossible to answer the question "i.e. show me all the hospitals within a 20km radius of this cluster of immigrants" in MySQL?

    This is an exercise in clarify requirements first, comparing them to the platforms *specific capabilities*. The requirements aren't things you can get from an "Ask Slashdot" article; you need to figure out what your use-cases actually demand. For example does the question posed above mean

    (1) Finding all the hospitals within 20km of some point (e.g. centroid) used to represent the cluster?
    (1b) Finding all hospitals within 20km of any point in the cluster.

    (2) Finding all the hospitals that fall within a 20km buffer built around a polygon (e.g. the convex hull of points) representing the cluster of immigrants as a whole.

    (3) Any of the above with *true geometry* as opposed to Cartesian approximations on some tangent plane.

    Items 1 and 1b are trivial to do even without spatial extensions, although performance won't be what you'd wish. Any database that implements a reasonable subset of the OpenGIS standard should handle these neatly.

    Item 2: last time I looked MySQL doesn't implement "Buffer", although this could be handled by a Web Feature Server (WFS).

    Item 3: Most spatial extensions to database systems won't do this (possibly Oracle does); and I haven't checked, but it's likely most open source GIS libraries don't do this. The good news is that your app surely don't need to do this. An example of an application that would might be enforcing a no-fly zone over a large country. If you are contemplating shooting down aircraft, you need to have *very* precise answers on a geographic scale too big to approximate with Cartesian coordinates.

    My guess is that you want either 1b or 2. If you want to know whether any of the immigrants in the cluster had access to a hospital, you'd use 1b. If you wanted to know whether the set of immigrants on the whole had access to a hospital, you'd choose 2.

    Here's a technical issue to consider. Is the database tier the right architectural tier to address this? A Web Feature Server (WFS) could handle this too. In some ways its simpler to get started by doing things in the database layer, but a WFS has certain advantages. You can bring together multiple data sources, including some that might be on-line elsewhere. You can provide services to other (authorized) users. You can support desktop GIS for researchers and Web Map Servers (WMS). The big disadvantage is that you've got an unfamiliar interface to deal with (submit query URLs and receive XML responses which have to be un-marshalled).

    The main advantage of doing all your spatial stuff in the database tier is that database servers usually have plenty of spare CPU bandwidth, it's one less complex software system to install, configure and maintain, and it uses a familiar programming interface (whatever you use to connect to the database). The biggest disadvantages of the database tier relative to a WFS is that your system is bound to be tightly bound to the peculiarities of the DBMS platform you choose. If you decide you just can't use MySQL any longer, you're going to rewrite a lot of query code. The WFS would abstract a lot of that.

    I'm semi-retired now, but I do a little pro-bono consulting for non-profits and have some experience with GIS in public health apps. If you'd like help feel free to contact me. My yahoo mail user name is grumpynerd. I'm a bit rusty in the web mapping area, but I could probably help you make some of your architectural and product choices.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  90. Re:Obvious answer by rnmartinez · · Score: 1

    Thanks for the feedback - although I am probably not being clear enough here, if we wish to expand the GIS type functions of our site, it seems that we need to move (which will cost regardless - our current host does linux by default). MS SQL is certainly looking attractive though.

  91. Re:Obvious answer by rnmartinez · · Score: 1

    Too obvious is always good! I will certainly show this to devs that we are working with :-)

  92. Re:Although I use databases for much simpler thing by rnmartinez · · Score: 1

    Currently it is PHP/mysql, and that is why I leaned that way originally.

  93. How many GIS functions do you need? by Terje+Mathisen · · Score: 1

    If it is just a set of proximity queries, then you could almost do that with search&replace on your SQL code

    I.e.if you can store coordinates in UTM distance calculations become dead simple:

        "select * from hospitals where (lat-targetLat)*(lat-targetLat)+(lon-targetLon)*(lon-targetLon) maxDist*maxDist"

    Working with degrees makes it a bit harder, but as long as maximum distances are within a few 100 km you can get away with a simple cos(targetLat*deg2rad) scaling of the longitude values.

    Terje

    --
    "almost all programming can be viewed as an exercise in caching"
    1. Re:How many GIS functions do you need? by Terje+Mathisen · · Score: 1

      Oops! The less than sign before "maxDist*maxDist" was stripped away when I hit submit. :-(

      Terje

      --
      "almost all programming can be viewed as an exercise in caching"
    2. Re:How many GIS functions do you need? by VeriTea · · Score: 1

      This calculation ignores the curvature of the earth even though UTM is in meters. The poster still needs to implement the 'Great Circle' formula. I would think this would be relatively straightforward to add it as a stored proceedure in PostgreSQL.

      --
      --- There are two kinds of people, those who accept dogmas and know it, and those who accept dogmas and don't know it
    3. Re:How many GIS functions do you need? by Terje+Mathisen · · Score: 1

      I did imply that "Flat Earth" calculations are only valid withing a limited distance, like an UTM zone, but this is still several 100 km.

      For most GIS style queries exact results really don't matter, i.e. if you happen to select a hospital that is 20001 m away and/or exclude one that is 19999 m away, this is still fine, simply because the origin point is almost never defined with such accuracy, and neither are the stored coordinates for people or hospitals.

      If you insist on exact distances then you need to go to Vincenty or a similar formula, since classical Great Circle calculations still have errors.

      See http://en.wikipedia.org/wiki/Vincenty%27s_formulae

      This is an iterative process consisting of about 75 lines of code, including 2 calls each to sin/cos/sqrt in the setup code, then sin/cos/sqrt/atan2 in the inner loop, followed by a couple of atan2 and a sqrt call at the end. I.e. we're talking about thousands of clock cycles for each calculation.

      This means that the exact function is several orders of magnitude slower than the approximate version, so if you insist on handling all the borderline cases exactly, the best approach is to use an approximate distance selector that is safely too large (maybe a meter or two over 20 km), then filter the results by re-checking any that happened to be borderline (i.e. within 2-4 m of the limit). The last set, of borderline distances, will most often be empty.

      With this approach you can get exact results with a query speed that is effectively the same as for a simple UTM distance calculation!

      Terje

      --
      "almost all programming can be viewed as an exercise in caching"
    4. Re:How many GIS functions do you need? by plover · · Score: 1

      Straight SQL is all I came here to suggest. Ten years ago I implemented a great circle calculation in a stored procedure to return the n nearest points of interest to a specified location. It simply wasn't a big deal. You just have to be a tiny bit thoughtful and apply some min/max rules to reduce the search space so you aren't brute-forcing the Traveling Salesman problem every time someone logs into the site. Internally, that's all the GIS databases do anyway. The problem simply isn't that hard.

      TL;DR - Don't throw away MySQL just yet.

      --
      John
  94. Re:Proprietary, definitely. by rnmartinez · · Score: 1

    Thanks for the feedback guys, its great to get both sides.

  95. MongoDB Geospatial queries by Anonymous Coward · · Score: 0

    I've recently switched to using MongoDB, a noSQL database that supports 'find nearest' type queries. Can be a bit of a learning curve switching to a noSQL database however.

    http://www.mongodb.org/display/DOCS/Geospatial+Indexing

  96. It depends by Anonymous Coward · · Score: 0

    In general, the solution to almost all GIS software is GRASS + PostgreSQL + PostGIS

    I've set these up a few different ways...
    MySQL as database backend crashes much too easily, very difficult to configure, akin to lightning
    M$ SQL is expensive and underwhelming performance but easy to pay someone to fix
    PostgreSQL is not as 'quick' as MySQL but incredibly reliable.

    It is possible to interface ESRI software products with a postgres db, which works, but then you are paying several thousand a seat for ESRI software. Also, for their web server toolkit, web server software, mobile development kit, all gets ridiculously expensive.

    I believe GRASS has a few more features than ArcGIS at the expense of interface, but with the good fortune of having your own GIS development team I don't see why you would pursue a 'paid supported' software type. If your engineers are whining for M$ database (ick) fire them and hire some real engineers.

  97. DB is for data only, not functions/procedures by mspohr · · Score: 1

    You seem to want to adopt MSsql because it offers a few handy functions which are not available in MySQL.
    In general, is is best not to rely on the database to do processing since these functions are usually non-standard. It is best to stick to standard SQL and only rely on the db for standard SQL functionality.
    Databases are for data. Processing should not be done in the database. I know this is a somewhat "old school" approach and I admit that I am old but there are several problems in locking yourself into a particular sql implementation just because it has a few handy functions. (Oracle is famous for this... once you check into Oracle, you can never check out)
    - cost (you'll be stuck with the MSsql cost forever)
    - MS may change the function
    - you won't be able to move to another db
    - at some point you will probably end up coding around these functions anyway since they won't be exactly what you need

    As others have pointed out, there are lots of libraries which perform these functions which are portable and don't lock you into a particular implementation.

    --
    I don't read your sig. Why are you reading mine?
    1. Re:DB is for data only, not functions/procedures by westyvw · · Score: 1

      Except spatial functions are just as much a part of a SQL database as any other function. It is just another SQL statement in any modern spatial column data type sql product. I would not do MSSQL not because they might change the function (they seem to have been sticking with standards, even if they implemented a very old one), but because they really arent very good at what they do, and dont play well with others. You should always be able to pull any component and replace it on any platform and get the same functionality with little or no effort.

  98. Re:Lower costs? by guyfawkes-11-5 · · Score: 1

    The problem, as I see it, is that the original poster is comparing the wrong things; namely, he's looking at MySQL for some odd reason, when several other people have here already pointed out that the de-facto OSS solution to this is PostgreSQL and PostGIS. Sounds pretty much like a drop-in solution to me.

    2nd on the PostgreSQL and PostGIS. The OP should also consider using the google maps as a base map through their API

  99. GRASS by Anonymous Coward · · Score: 0

    How about a real GIS? There are plenty of them - here's a recent list: .

    I will note that GRASS, which was built for the US Army (and I used to know the project manager, back in the early nineties, when I lived in Austin), and it is industrial strength, and well-respected.

                      mark

  100. The real choices are... by Anonymous Coward · · Score: 0

    PostGreSQL supports geometric ojects as used in GIS better than your options as does Oracle Unix.
    If you have money you get the better supported options, it saves developement time and maintainandce and data operations, etc.
    If not you do more coding, updating, maintainance yourself or with your team but things are less robust and work less well.

  101. QGIS by Anonymous Coward · · Score: 0

    Take a look at Quantum GIS as well:
    http://www.qgis.org/

  102. Re:Unprofessionalism at its finest by DaveV1.0 · · Score: 1

    He want to chuck the system and replace it with a different open source system which will require developing custom features into the new system. The development team wants to just code the system and use a system that provides all the features needed.

    --
    There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
  103. The Esri Nonprofit Organization Program by ahoffer0 · · Score: 1

    "The Esri Nonprofit Organization Program is designed to provide conservation and humanitarian nonprofit organizations around the world an affordable means of acquiring ArcGIS software and services for organized volunteer efforts. Other types of nonprofit organizations may also be eligible for membership in the program."

    http://www.esri.com/nonprofit/index.html

    If you can get ArcGIS at a reasonable price, do it. Save time, save labor. Build on a solid foundation.

  104. Stick with what you have... by recharged95 · · Score: 1

    The MS stuff, though I admit is well integrated, has limited functionality--MS is not a GIS company. Yes it will help you today, but 2 yrs from now (if you are not planning a redesign/refactor), you'll be hating it. Been there done that.

    Look into NASA Worldwind. The interface is ArcView like *and* GoogleEarth/Maps like. And you get real GIS guys that can help you out from the GIS community (from NASA nonetheless) maintaining it.

  105. Re:Unprofessionalism at its finest by Jason+Earl · · Score: 2

    Both solutions are going to require custom programming. One of them chucks the existing (mostly working) solution, the other builds on the solution. That is a fairly substantial difference.

    Heck, I could understand if the developers wanted to simply chuck MySQL and replace it with MS SQL Server (which apparently also works with Drupal). I personally would probably use the existing Drupal solution with PostgreSQL, but if the developers feel more comfortable with MS SQL Server I could see that being considered.

    However, the developers aren't talking about moving to SQL Server to get them the database functions they need. They are talking about throwing away the existing solution completely and rewriting in DotNetNuke and MS SQL Server. That's just plain crazy unless the existing solution is worse than nothing at all, and the developers on staff have a spotless track record for delivering on time and under budget.

  106. FOSS GIS by Anonymous Coward · · Score: 0

    PostGIS + GRASS as a central processing repository is the way to go. You can also use QuantumGIS as a basic frontend for your day to day work. If you also have a lot of POI data, have a look at MongoDB geospatial too

  107. Re:Obvious answer by fuzzytv · · Score: 1

    Yes, but that's true for both considered options (MSSQL and PostgreSQL). I have no clue how well the app is designed / written - with reasonable abstraction, the amount of code that needs to be rewritten should be minimal. Also, chosing a database with good spatial features may save a lot of custom code.

  108. look at geocommons.com by Ymerej · · Score: 1

    You might consider looking at geocommons.com to see if it would serve your needs.

  109. Do NOT use MSSQL by westyvw · · Score: 1

    MSSQL is a poor implementation of a spatial database, based on OGR standards from 2001. The geometry data type is expressed in CLR, and you cant enhance it or do any fancy GIS with it. Use PostGresql and enhance as necessary with PostGIS. You will have SO many more options for doing data presentation then you ever will with MSSQL. The software is robust, available, and there is a large number of people willing to support it. Take that 20K and buy a support contract if that makes you feel better.

    Spatial data hosting with Linux and WAY out performs any windows implementation to boot. You just cant lose here, just like any Web technology, the Linux toolkit is far ahead of Microsoft.