Hi folks,
I hope these requests aren’t frowned upon, but was wondering if anyone here can help me out with some basic advice. I’ve gone through documentation and tutorials, but my lack of Java and development knowledge is holding me back.
Background: I’m a young GIS professional with relatively little experience in programming. I’ve written some applications in VBA and SQL which interacted with relational databases in MS Access. I know the basics of XML/KML and HTML coding.
Goals: I wish to distribute data to a very limited number (one or two dozen) Google Earth clients. Nothing too fancy…points, contour lines, polygons, maybe a few raster overlays. Hopefully with some security enabled.
Resources: I am running ArcEditor 9.2 (sp4) which comes with SQL Server Express, obviously on a PC platform. We are going to invest in a server box (windows or linux)
I have been able to get shapefiles streaming to GE clients outside the localhost. This is a good start, but I’m told that it isn’t an ideal (read sustainable) solution and I should be looking at a database back end.
A few questions to start:
- How would it be to continue to serve shapfiles anyway?
- If I want to go to a DBMS, Is SQL Server Express and my version of ArcEditor sufficient to serve clients with ArcSDE through Geoserver?
- If not, what is the weak link ? Do I need ArcServer (surely not), or to upgrade to a full version of SQL Server?
- What about going with an open source back end? Given that my data currently resides in geodatabases and shapefiles, how easy is it to integrate this data into an open source DBMS (PostGIS?) to distribute through Geoserver?
I’m currently having problems with the ArcSDE Datastore type…I will scour the archives before delving into this issue.
I just need some plain english advice on what direction to go with my geoserver back-end given my goals and resources.
Thanks so much for your help.
Damian Bradley
Damian,
I started out with a setup similar to what you describe (GeoServer - ArcSDE - SQL Server 2000) and then started using GeoServer - PostGIS about 6 months ago. I also am not a Java coder, but I have found that skill isn’t necessary for being a GeoServer user. The initial reason I tried PostGIS is so that I could easily take the whole setup on the road for conferences and client presentations, but I found that after using PostGIS for a couple of months I stopped using ArcSDE and SQL Server altogether. (And this is after actively using SQL Server for about 8 years, and using ArcSDE for 2 years.)
If you eventually want to serve up results from complex SQL queries (with joins, group by clauses, etc) I have found PostGIS to be far superior to ArcSDE, primarily because the geometry info is stored as a database field in PostGIS, rather than being spread across several tables in ArcSDE. PostGIS also has a rich set of spatial functions (intersects, buffers, etc) that ArcSDE does not provide.
Converting shapefiles to PostGIS is easy. Section 4.3 of the PostGIS docs gives good examples of how to do this…
http://postgis.refractions.net/docs/ch04.html#id2829926
In contrast, try to figure out how to create a spatial view in SDE from this page…
http://edndoc.esri.com/arcsde/9.0/admin_cmd_refs/sdetable.htm
The only reason I can think of for going with a GeoServer - ArcSDE setup is if you already have large amounts of data in an ArcSDE managed databases and you have staff that are trained in administering ArcSDE. It doesn’t sound like that is the case for you, so I would recommend going with GeoServer and PostGIS running on a Linux server (assuming you have IT staff that can administer Linux servers).
Cheers,
Tyler
···
--
Tyler A. Erickson, Ph.D.
Research Scientist
Michigan Tech Research Institute
3600 Green Court, Suite 100
Ann Arbor, MI 48105
[tyler.erickson@anonymised.com](mailto:tyler.erickson@anonymised.com)
[www.mtri.org](http://www.mtri.org)
[www.michiganview.org](http://www.michiganview.org)