I am curious about Drupal's direction in the world of GIS. Not just showing a map, but being able to efficiently present several layers with a good interface to manage those layers ,etc. much like a more heavyeight local GIS client. I don't really have any projects in particular, but I have numerous projects that could probably start "if only" there was a solution out there within my clients budgets.
I don't mean to bring Acquia into this, but it seems like Acquia's direction into enterprise has placed a good bit of emphasis on serving government. Because governments almost always manage an area, and local government primary focus is often on land use, GIS has become a major factor in website development. Many, many websites have permits, zoning hearings, etc. at one place on their site, and to access their GIS, you click a button that takes you somewhere else on the site where a dedicated GIS application is running.
Many of these local governments spend a major chunk on their GIS compared to their website, but there is a ton of open source GIS out there both on the server and client end that could be used to assemble a strong web based GIS solution for cheap, although I don't have time to invest in producing that solution - it seems like there is quite a learning curve, and most people heavy into GIS are not necessarily heavy into Drupal.
With what little knowledge I have to understand GIS from the development end (I'm experienced as a user of GIS, building maps, and analyzing aerial data), it seems Drupal may be a perfect framework for integration with or development of a good heavyweight GIS solution. I say this because the flat node structure seems like it would be a great way to build information on top of a GIS database, either by referencing Node ID with GIS data objects, or referencing GIS data objects inside a node.
For instance, instead of a marker, say that you created a parcel of land node that referenced a GIS rectangular shape and a shape file that had zoning, parcel owners, etc. This type of stuff frequently lives in a shape file. But say that it the GIS data could be changed using CCK fields (essentially changing the shapefile layer), and properties for displaying those layers could be manipulated in a views type interface with exposed filters. This would allow departments with proper permissions to update land data, etc.
Does anyone else see Drupal as a good framework for this sort of thing? One thing is for certain: There is definitely a lot of money thrown at GIS including licensing fees. The main solutions out there, ESRI and Tatuk, both have some really high licensing fees, and those licensing fees are holding GIS from being used in other major markets that could use GIS on a smaller scale, such as banks for managing failed properties, Developers, and small towns and cities. It's also likely if Drupal had a good integrated solution, then it could get more web design for government entities.
Our local website has a really well designed and thought out site that links to a lot of maps, and provides tons of data editable by each department, but doesn't integrate on the GIS object level - it just brings in Bing Maps - you can see it here at http://estatus.forsythco.com/search.aspx
What if that bing maps was replaced with a highlighted polygon of the parcel though, and you could query the data to find other information, such as the population within a 2 mile radius using US Census data, or find the nearest sewer service, all from the website interface using Drupal? Big dreams, I know, but with how valuable something like that would be, I can't imagine it would be too hard to get the sponsorships in place to pay for such kind of efforts.
I'm curious what others think about this - am I missing something big, is this realistic to think Drupal is a good framework to integrate a GIS system into a website without the two being separate entities?
Comments
quick thoughts.
Hi @jalneal. I can't speak for everyone, but here is my brief thoughts on the subject.
You should check out the Geospatial Module Assessment which just got started so theres a lot of things missing. Specifically, it sounds like you are looking for Geo.
Overall, there are a lot of efforts going on with Drupal and GIS, but I think we could benefit from more cohesion.
--
zzolo
quick thoughts II
What you suggest is perfectly feasible the problem isn't really a technical one, but a political/management one. Moving from where we are at the moment (ie a system that 'just' imports and/or displays data) to one that is able to update/edit/delete/sync external data sources (not just shapefiles, but tabfiles, oracle spatial etc) requires a lot of investment and (dare I say it) project management to ensure that everything fits together and isn't done in a piecemeal fashion.
Realistically this will only be done if there's money on the table - which requires someone taking a chance on Drupal for GIS, something I think is unlikely. One of the reasons that ESRI are (progressively less now) able to charge high licensing fees is because it's perceived as low-risk and, to paraphrase, 'no-one ever got fired for buying ESRI'.
Just my £0.02
Re: quick thoughts II
Hi @alarcombe. Good comments.
I don't necessarily agree, though. I think there is a long way to go and Drupal/GIS, as well as a lot of open source geospatial projects, are still fairly young and figuring things out, so there is not much fairness in trying to directly compare Drupal/GIS and ESRI.
ESRI has been in the game a long time and they have already had their growing pains. But their model will not survive open source, IMO, hence why I use Drupal and other open source technologies. ESRI still has a firm grasp on lots of aspects of GIS, but there are many open source projects that have a better grasp on specific areas as well.
I don't think there is any reason for Drupal/GIS to try to directly compete with that. Drupal is a very long way from being able to replace ArcGIS, and honestly I don't think thats a reasonable goal as Drupal is a web platform and there is still quite a difference between web and desktop applications.
But, even still, there are lots of things that Drupal can do (and does) in the geospatial realm. But I really don't think it requires a corporate backing or even money. Yes, money would be helpful, and parts get implemented by lots of different financially-backed players. But, as Drupal has grown organically and lots of related and sub project have too, the issue is indeed some management and leadership. What it will require is some coordinated efforts by the community to make some decisions on the best way to solve problems (or someone to attempt to solve them, then make changes appropriately).
I also think it is very important that Drupal does not try to rewrite the many open source geospatial projects that can be leveraged together to make a powerful system. Overall, the open source geospatial realm (in and out of Drupal) is still relatively young, but has some great momentum, and I would much rather see the grassroots approach of trying to create discussion and collaboration amount these projects, than to see a large "corporate" entity try to recreate ArcGIS in Drupal.
--
zzolo
Great input
Thanks for the feedback on the topic, very useful in understanding where this is, and zzolo, I had not seen the Geospatial Module Assesment, that is an excellent tool to get a quick understanding of where things are. I certainly support the lack of cohesion with many modules because it provides for an organic evolutionary process - (competition breeds stronger ideas) but I totally agree with you on having more cohesion in the GIS realm, because the task is so big and without everyone joining forces, the development may have a tough time getting to a production stage at the pace of general web technology advancement. It may be that most of the features that I'm talking about are much farther along than I have assumed. I look forward to playing with some of these, and will try to commit some time to helping them out. If you ever need any point cloud, DEM, LandXML, or shapefile data let me know, I have a database I keep locally that I use with Civil3d.
Alarcombe, thanks for reminding me the reason why people would pay outrageous licensing fees. There is certainly less risk in going with such software, but I do think over time, Open Source will outcompete commercial packages in most arenas. Just look at where open source is today vs. 10 years ago. Your post really points out a true fact with Drupal and other projects, that trying to get the money on the table and organizing efforts may be the bigger challenge than development itself sometimes. Yes, why would a company pay to sponsor as much or more with high risk, but what if you create several sponsorship levels, where you may get thousands of smaller companies that donate $100-$200, and give recognition to higher level sponsors. Anytime there is a Goliath Industry out there that only captures 20%-30% of the total potential users because of high costs, I think there's a big opportunity, and GIS is specialized enough the training and development could provide plenty of income as a support service for organizations that need an enterprise solution. Maybe its possible with the right technical partners and marketing? I'm too inexperienced with the Drupal development process to really manage something like this, but I have a lot of background in non-profits and have done fundraising work, and think some of those concepts could work for open source. At one time someone invested in ESRI because they thought it would make them money. Software savings is money for big companies, as is name recognition.
zzolo - I completely agree with your statement about competing with ESRI - I don't think things like tile generation and spatial data servers are the realm of drupal, and I completely agree there are other open source projects that Drupal could work with to accomplish this. I would say it is the task of many other open source GIS projects to compete with ArcGIS, although I'd love to see Drupal create a great web based geospatial UI that could use other geospatial tools to develop complex queries and displays, as well as provide a way for end users to add to the GIS database. Drupal could effectively work with Tatuk, ArcIMS, or open source solutions. While it will continue to evolve through the grassroots effort, sometimes a discussion on what industry needs, and how to market and bring in financial resources brings in a tide of resources (the money attracts a lot of talent who look for some consulting fees and/or project recognition when it has momentum) make a lot of headway. Since its open source, it will never be ArcGIS no matter what, but its easier to modify and create extensions for a comprehensive project that was built the Drupal way (highly modular) than development with limited resources. Of course, that too would take a united effort, which would require some management and leadership on it to get it going. That's part of what I don't fully understand in Drupal - does leadership come from an enterprise company, such as Development Seed, or just from someone taking a lot of time to create a roadmap and getting buy in from the people that can make a large scale coordinated effort happen?
I threw the topic out because I have been working with someone locally who saw the need for GIS solutions with companies that are managing a lot of properties (many foreclosed) and we recognized 2-3 potential industries with heavy needs for GIS but on a smaller scale. Main thing is they need to be able to not only display maps, but pull demographic data around them, bring in county GIS data in shapefiles, and add data themselves. Many of these in land development would love to pull in MLS data and census data and perform analyses with them. These people are NOT and don't want to be GIS experts, that is where I saw Drupal as a great opportunity to broader industry - as an easy to use interface between a GIS server and/or shapefiles and a non-technical end user. We have ultimately settled on creating tons of KML's built in ArcGIS Desktop and put on their local servers to use with Local servers, but this is hardly a solid solution for companies. They'd never go the ESRI route because they don't want a GIS expert in house - most of the companies are less than 100 people, and just the word GIS intimidates them. Just like Linux does, which is why there will be plenty of consulting dollars with so many small clients.
perhaps do you mean a module
perhaps do you mean a module like http://drupal.org/project/mappingkit ?
"The Mapping kit is a collection of modules to support custom mapping"
otherwise, there are some other project (not based on drupal) that can be used to have webmapping interface over a full GIS solution, like the wxpython interface for grass (http://grass.osgeo.org/wiki/WxPython-based_GUI_for_GRASS)
Expectations
When talking about Drupal-based mapping as 'GIS', make sure that you've got decent ideas of what Drupal should do. If not, it's easy to blame Drupal for lacking in areas where it doesn't try to excel.
In a lot of senses, Drupal and other systems could benefit from an external 'GIS service' - think GeoServer written in Python instead of Java and configured with SQLite and JSON instead of XML, with real points of integration via REST. PHP is awful at doing things on a binary level and the Drupal system is far too sluggish for things like tile serving, and there's very little chance of PHP extensions becoming commonplace, so Drupal is not going to fulfill all GIS tasks: it'll cooperate, though, since it's one of the best encapsulations of UI out there.
There's also the question of what should replace GIS: it's much like Microsoft Office and OpenOffice. Is the replacement for a overgrown, 90s-vintage software product an open source overgrown 90s-vintage software product? Right now Drupal and web mapping succeeds because it isn't ArcGIS - it does less, and often it does all of the things (except buffering) that people actually use ArcGIS for.
I really appreciate everyone's comments
Great information - thanks for all the suggestions on different sources. I'm going to try to set up a test site and start playing around with land use applications and get a better direction.
tmcw, I appreciate the comment. With all the information above, I definitely have my work cut out to see if what I'm thinking exists, and if not to be able to better define what roles I think Drupal could play. I really do have a very definitive idea I'm thinking about, for specific applications where Drupal excels (storing a lot of field and document data in nodes that are easily edited by many departments) and a GIS platform (which can serve up map data, provide graphical displays of complex queries, and spatial analyses.) But from my vantage point, a Drupal designer with little experience in GIS on the development side and very experienced as an end user of GIS based engineering software and ArcGIS Desktop, I may not be very good at elaborating on the application. Not sure about a time committment, but I may throw up a test site, and once I get a good idea of what can be done with the tools mentioned here, try to visualize the goals a little better and hopefully get some good feedback on whether those items would be a better fit for Drupal or a GIS application. If I understand right, Drupal is a great solution for management of non-spatial data where it needs to be displayed on intranets and internet in a variety of ways, while GIS is good at displaying spatial data, providing spatial analysis, etc. For every parcel of land, there are some fields that are spatially related, but there are numerous fields, documents, etc. that are related to that parcel (such as deeds, tax assesor data, stormwater/utility data, etc. that is non-spatial, ALTHOUGH if it was linked to the spatial data (by polygon object, I'm thinking vector polygons and nodes here) then you could essentially map any kind of data you wanted to, even use the GIS tools (that are not Drupal) to query certain linked fields by proximity? Is that making any sense, or is this something that is only the realm of GIS? Is something like this already covered in any of the mentioned projects? Is it that most larger governments are going to go with an enterprise solution that shares all of this data in a single database that will handle all of this? If so, I just don't see these kinds of linkages to data on municipal sites - I usually see hyperlinks to different departments leaving me to believe things are generally disconnected other than by hyperlink.
I definitely didn't bring this up as a slight on Drupal - like I said, from an end user that worked on the non-web design/development side in a GIS heavy industry, I was just trying to brainstorm what roles Drupal could play to get into the local government market, and finding a way to create more cohesion between government's GIS systems and their website for land development seemed like something that would catch the interest of many of them. With all the money they spend on the present solutions, I was thinking it may be an opportunity for Drupal Developers.
Available but...
Hi, nice discussion here... Actually a lot of what was asked for is available, as Drupal interfaces nicely to typical gis standards using modules. I currently see the problem that developers are spread over dozens of gis-related projects. And there is very little gis functionality available for the Drupal 7 releases right now. Folks setting up a site from scratch need to stay with Drupal 6, and that means they will need to migrate their fresh site in foreseeable future...
I agree with grobe
If we could just get a shopping list of functionality (eg: proximity search native to Views & Openlayers) would be great.
I'm very keen to see Openlayers family evolve. Geo, Location, Postal, etc seem to have lost their way.
Perhaps Acquia and the Drupal Foundation could allocate some resources here. It is important that the community gets this right as there are many other open source projects nipping at Drupal's heels.
This post could be
This post could be interesting: http://www.geops.de/blog/64-spatial-data-and-drupal-7
Drupal GIS Distro Cartaro
From the same people http://drupal.org/project/cartaro a web mapping platform with Drupal, PostGIS, GeoServer, GeoWebCache and OpenLayers.
PostGIS is the key
Last night I've tried to install Cartaro, but I have stucked at creating a new DB, user & pass on PostGIS:))
But the distro looks very useful in terms of GIS.
http://geoperformans.com