Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

Main Question: Is there a geodatabase type that seamlessly works with both ESRI and open source products?

Details: My company currently passes around geodata in various vector and raster file formats and isn't particularly organized. Most processing is done using open source tools, but some customers demand that we host our data in ESRI Map service format. We have an ArcGIS server instance already that hosts these services, but we still do our processing upstream using open source tools before dumping the results in an ESRI arcsde geodatabase. From what I can tell, ogr/gdal have somewhat limited abilities to read/write from an arcsde geodatabase, but not enough that I could reasonably store all of our data in an arcsde geodatabase and expect our processing tools to be able to use the arcsde geodatabase as the primary data store for the company. Am I wrong? If I switched to an open source geodatabase such as postgis, our processing tools would work fine but I don't think that I could use a postgis database as the data store for hosting ESRI services. Am I wrong? Is there a geodatabase type out there that can service both open source and ESRI seamlessly? If not is it common practice to maintain parallel geodatabases, one for open source and one for ESRI?

Additional wrinkle: The answer I got was to use PostgreSQL/PostGIS . The only potential wrinkle with that is that I'd like to host this database on Amazon Web Services (AWS) and if possible I'd like to use Amazon Relational Database Service (RDS) to minimize our database management overhead (backups, load balancing, etc). However, RDS only currently supports MySQL, Oracle and SQL Server as database engines. I'm thinking that if RDS starts supporting PostgreSQL that this would be the ideal scenario, but just to double check, PostgreSQL is my only option for ArcGIS + gdal/ogr-based open source interoperability correct? If so I'll likely create a PostgreSQL database on AWS, I'll just have to spend more resources managing it.

share|improve this question

2 Answers 2

up vote 14 down vote accepted

You can use a native PostGIS database as an SDE data store.

http://resources.arcgis.com/en/help/main/10.1/index.html#//002p0000006v000000

That link describes the basic setup to register a native PostGIS table with SDE. The drawback is that ESRI only supports a narrow range of Postgres and PostGIS versions, here's the list of what they support:

http://resources.arcgis.com/en/help/system-requirements/10.1/index.html#//015100000075000000

share|improve this answer
1  
Thanks! I have a lot of reading to do in that section of the ESRI manual, but if I'm understanding correctly, I should be able to set up a PostgreSQL/PostGIS geodatabase and connect to it from ArcGIS without having to run an "EnableEnterpriseGeodatabase()" function on it from the ArcGIS side of things? Also, once connected, I should be able to create all of the ArcGIS service types (map service, feature service, etc) with PostGIS as the data store? –  user2099868 May 24 '13 at 14:27
2  
You still need to run the Create Enterprise Geodatabase tool, but you want to create the PostGIS database first, then point the tool to the existing database. –  HeyOverThere May 24 '13 at 14:39
    
OK, and the Enable/CreateEnterpriseGeodatabase tool doesn't interfere with the structure of the postgis database such that gdal/ogr would have a hard time reading/writing to/from it correct? –  user2099868 May 24 '13 at 16:41
1  
Correct. What it will do is create a new schema called sde and put all the sde related stuff in there. It won't actually touch the data in your existing tables, they will remain PostGIS geometries. You can still view and edit in non-ESRI software, however, if you version your data non-ESRI software will ignore those versions and edit the table directly which may screw up your versions. I think it would but I haven't tested that assumption. –  HeyOverThere May 24 '13 at 17:51
    
@HeyOverThere if you edit the base table directly, you aren't going to corrupt anything, be the results will appear unpredictable. If you want access ArcSDE versioned data with other software, you should look at registering as versioned with the move to base option, and versioned views. –  travis Jul 6 '13 at 8:26

You don't necessarily have to set up your database as an SDE Geodatabase at all. At ArcGIS 10.1 ArcGIS can read and write SQL Server and PostGIS (among others) native databases. That means that you could set up your database in one of the RDBMS's supported by open source packages and ArcGIS (personally I would say either MS SQL Server or PostGIS) and access it from within ArcGIS.

Here is a link to the Help system with more info:

A quick tour of working with databases in ArcGIS

share|improve this answer
    
I doubt that you will be able to edit any database with ArcGIS without registering it as an SDE Geodatabase (with the appropriate license)... Since version 10.0, ESRI gave you the possibility to connect to database directlty without SDE but only for reading and you cannot use any fonctionnality such as topology, networks, or versioned editing. –  Etienne Desgagné Jun 14 '13 at 12:18
    
@EtienneDesgagné - As far as I know, they increased the non-SDE functionality at 10.1 to support reading. However, you are correct that there is no support for Geodatabase functionality like topology, versioning, feature datasets, etc. when using a non-SDE database in ArcGIS. On the other hand, Geodatabase functionality will not be available when using the open source tools either and using an SDE database outside the ArcGIS environment is not all that intuitive. –  Brian Jun 14 '13 at 14:45

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.