1

I'm using ArcGIS Desktop 10.6.1 with PostgreSQL 10.3/PostGIS 2.4 and would like to edit PostgreSQL polygon features regardless of client (QGIS/ArcGIS desktop) without having to create an ArcGIS Enterprise Geodatabase.

How can I create a PostGIS database where edits are possible in ArcGIS Desktop?

Note as a test with a different method - I've created a Postgres database (with PostGIS extension enabled), then created an ESRI Enterprise geodatabase on top of this, created a "data_manager" user/schema and proceeded to import a layer (with pg geometry keyword) where I can edit in ArcGIS and QGIS. However if a QGIS user creates a spatially enabled table in the data_manager schema, it's not registered with the geodatabase in ArcGIS.

Old/related posts (no longer relevant) due to changes of read/write at ESRI Desktop 10.4 then again at 10.6:

  • @PolyGeo - This question winds up being similar but due to changes of Postgres support after 10.4 and then again at 10.6 changes what's possible when interoperability and data editing;

    -10.6: You can now use the PostGIS geography type to store spatial data in PostgreSQL databases and geodatabases in PostgreSQL (http://enterprise.arcgis.com/en/server/latest/get-started/linux/what-s-new-in-arcgis-for-server.htm)

    – rustyfisher Sep 28 '18 at 12:30
  • @PolyGeo - 10.4 and beyond support both read and write of PostgreSQL (https://gis.stackexchange.com/questions/266383/how-to-connect-import-postgis-database-in-arcgis-10-3-via-localhost) – rustyfisher Sep 28 '18 at 16:31

1 Answers1

1

Linked are three files that explain various aspects of using PostGIS tables with QGIS (referred to as 'OpenGIS' in the documents):

The Register Layer with ArcGIS is a custom Python module incorporated in the Q startup.py file. You cannot reconcile versioned edits unless they are committed to the default base table(s) upon editing exit.

Rudy Stricklan
  • 618
  • 5
  • 12
  • This is excellent. Let me give this a shot and see if this answers the question. I've already done quite a bit of testing, and (almost) come to the conclusion this won't be possible (or if it is, changes to delta tables from different clients will cause additional problems). Thanks! – rustyfisher Sep 28 '18 at 12:41
  • The 3rd pdf, step 3 has a very interesting functionality: "Right-click on the testpoint layer in the Layers Panel and select the Register Layer with ArcGIS option" which I can't find any in QGIS. – rustyfisher Sep 28 '18 at 15:49
  • See edits to original post. – Rudy Stricklan Sep 29 '18 at 01:34
  • Thanks Rudy - was able to get this implemented without too much effort. The one thing I realized mid way through, is this is registering a layer with QGIS, not registering a layer with ArcGIS. I'm not quite sure how this would be better than simply changing the configuration keyword from default to "PG geometry". I guess maybe it works if the ArcGIS user forgets to do so?

    More so - I'm after if an QGIS user creates a table within the Postgres geodatabase, the ArcGIS user needs to be able register and write to that table.

    – rustyfisher Oct 01 '18 at 19:23
  • Yes, the ArcGIS layer/feature class has to be created in ArcGIS first. That was the client's specification. – Rudy Stricklan Oct 02 '18 at 21:49
  • Rudy - any chance you might repost those links above? Please – rustyfisher Sep 09 '19 at 18:46
  • Yes @rustyfisher, the links are back up. – Rudy Stricklan Sep 11 '19 at 02:08
  • Rudy - thanks. The part I was focused on was the sequence on objectid (pdf #2), trying to see how you dealt with it. I came up with a similar solution - but not started at 10 million. I'm also looking at an insert trigger to access the sde.next_rowid as an option. Thanks for following up though! – rustyfisher Sep 11 '19 at 14:55