We frequently get questions like “Can I use PostGIS from my ArcGIS software?” or “Is PostGIS compatible with ArcGIS solutions?”. If you like to have short and quick answer, you can pick any from the options below:
C) It depends
D) It is complicated
Options A and B are very straightforward answers, probably the answer is coming from people who like to simplify your question and move forward. Option C is more like “What is your real problem?” -question. Option D comes from senior GIS experts, who have seen the rise and fall of Avenue, ArcStorm and other historical GIS tools.
What is the truth? Well, it depends and it is complicated. However, you can find a lot of discussion about this subject in various mailing listings and blog posts. Why do I need to write another blog post about this very controversial subject? People need help and our company’s main target is helping people.
Disclaimer: quite many people recommend that you shouldn’t write this blog post. Main reasons are legal and technical issues. Legal issues: you can’t handle without lawyers and they usually just recommend something. All technology related items have been collected from open sources and I have tried to add links, so you can find more information about. If there are any errors, those are mine. Please let me know if you find any inaccuracies or errors, I will update the blog as soon as possible.
Two options to connect ArcGIS to PostGIS
Roughly speaking there are two (2) options to choose from:
- You can register existing PostGIS vector layers as read-only layers to ArcGIS
- You can create ESRI Enterprise Geodatabase to PostGIS
Registering existing tables from PostGIS to ArcGIS, you edit and update layers from QGIS, Geoserver, SQL application or other PostGIS compatible softwares. However, there is some limitations for those tables which can limit your data models:
- Only one (1) spatial column per table
- No columns with user-defined types
Other limitations are quite easy to handle, if you are following best practices in spatial data modelling: each table has to have a unique identifier (like primary key) and tables should have spatial index.
Creating an ESRI Enterprise Geodatabase is a very complicated task. If you like to choose this path, you better read documentation very carefully, be sure that you have enough software licences and understand that editing of Enterprise Geodatabase is only possible with ArcGIS software. In some cases, it is possible to read Enterprise Geodatabase with Open Source software.
Why is the Enterprise Geodatabase so complicated? History of the Enterprise Geodatabases start from 1990’s: ArcSDE technology was purchased by Esri in 1996 and then they re-develop it to a “database independent spatial database”. At this time, you can use Oracle, Microsoft SQL, IBM DB2, PostgreSQL (with or without PostGIS) and other databases behind the Enterprise Geodatabase. It seems that it is possible to edit and maintain Enterprise Geodatabases with SQL, but it is recommended that you use only ArcGIS software to maintain Enterprise Geodatabases, whatever database you are using behind it.
So, here are my conclusions about short and quick answers for questions like “Can I use PostGIS from my ArcGIS software?” or “Is PostGIS compatible with ArcGIS solutions?”:
|If you like to edit a pure PostGIS database, you can’t do it with ArcGIS.
|You can register PostGIS tables as read-only layers to ArcGIS or you can create Esri Enterprise Geodatabase to PostGIS.
|If you like to edit and maintain a pure PostGIS database with various software, ArcGIS is not giving you any benefits.However, if you are already in a vendor-lock situation, the PostGIS database can give you some possibilities to open up your spatial database to other uses.
|It is complicated
|Connecting ArcGIS to PostGIS is not really a technical question. It is more a business question: how many more years your organisation would like to be in a vendor-lock situation or are you already ready to take leverage of Open Source software and freedom of the action? It is perfectly ok for private companies and private persons to make independent decisions on how to spend their money, but when you use other people’s money (aka work in the public sector) you have to carefully study the best affordable solution for your geospatial challenges. What is stopping you from taking the first step today?
If you need help, please reserve a free consultation hour from here.
Some materials into to the topic for those interested:
ArcGIS Desktop documentation
SQL access to enterprise geodatabase data
An overview of geodatabase system tables
System tables of a geodatabase in PostgreSQL
Presentation: Accessing your Enterprise Geodatabase using SQL
ArcGIS 11.2 and ArcGIS Pro 3.2 requirements for PostgreSQL
Executing SQL using a connection to an enterprise geodatabase
Esri enterprise geodatabase and PostGIS database