8

We have a GIS staff of 7, and another group of about 14 who "use GIS" from time to time. We really, really want multi-user editing. Mostly of a large point file, and we're almost never in the same location, so editing the same point is not a concern.

I'd prefer everyone on ArcGIS, using ArcSDE, but we don't have the budget, or using QGIS and ArcGIS on PostgreSQL/PostGIS, but ArcGIS for Desktop cannot edit PostGIS without ArcSDE.

Currently, I've got the GIS staff on ArcGIS Advanced, and the others on QGIS 2.2. It's working well, multiple QGIS users are able to edit at the same time + one additional Arc user, but I'm always concerned about something popping up that I haven't considered. I'm backing up our data 4x/day.

Hoping there may be others in a similar environment who could help me learn from their experience, avoid making mistakes or losing data.

4

Since you would "prefer everyone on ArcGIS, using ArcSDE, but ... don't have the budget" you may be interested in "GISquirrel" http://www.gisquirrel.com which gives multi-user editing of PostGIS tables in ArcMap (at Basic licence level). This may give you what you want for all users, but if you still need QGIS in the mix then you are quite right to consider the effects of editing with mixed clients. The main and obvious advice is that you should always be prepared to recover from adverse incidents in your database, such as users accidentally deleting records, etc, and the more mission-critical your data then more fine-grained you want your recover capabilities. You might also want regular reporting of the vital statistics of your tables - number of rows, number of new/edit/deleted feature, etc to help identify any issues.
GISquirrel works differently from both ArcGIS+SDE and QGIS, though the overall effect is similar to QGIS in that edits are visible to all users immediately on saving.
GISquirrel checks out selected features for editing, and (optionally) can write values into the main table that “lock” the features and show who is editing them. The lock is only seen as a feature lock by GISquirrel though – other applications would just see a value in a field, though they could be customised to respect it.
On saving edits, they are written back to the main table. Only the changed/new/deleted features are altered in the main table.
GISquirrel also (optionally) manages feature-level metadata, showing who last edited each feature and when, which you wouldn’t get with direct QGIS editing (unless you used triggers and individual database logins).
I cannot foresee any problems with editing a PostGIS table in both (GISquirrel+ArcMap) and QGIS, so long as (as you said) you are not worried about potential editing clashes (where the later save would "win"). But we would recommend doing your own testing to verify this in your environment if you do intend to edit with mixed clients.

  • Hey @CrispinF, thanks for your reply. My current solution has been to run PostgreSQL 9.1 with PostGIS 2.1 off a bob box in the office. All edits are being made in QGIS 2.2, the GIS Staff uses ArcGIS Advanced for map production and geoprocessing. I've got some SQL/SDE admin experience, but managing via pgAdminIII has been pretty easy. So far (fingers crossed), it's been excellent. Multi-user editing is seamless, changes visible as soon as they are saved. DB is pretty small (16000 records of just points) so good performance as well. Thanks – mike Oct 13 '14 at 15:58
1

I've done multiuser editing with QGIS and Esri (note: QGIS is no slower than ArcGis at capture/update), however we have and use SDE; I have found the problem is not QGIS but ArcGis...

ArcGis on SDE for PostgreSQL using PostGIS geometry types allow for the data to be 'shared' around between users which works great in a read-only sense but there are significant differences between the way that ArcGis and QGIS write to PostGIS databases...

QGIS writes directly to the database so as soon as the user saves edits the edits are visible to other users in QGIS or ArcGis as the change is made to the base table.

ArcGis uses versioning to edit PostGIS data where the edits are made against a version and stored in a delta table, when the user saves the edits are visible to other ArcGis users - as ArcGis is aware of the delta tables but QGIS users are not aware of the delta tables so the edits made in ArcGis are only visible to QGIS users after the database has been compressed back to the default state.

I would recommend that you ONLY EDIT THE POSTGIS DATA WITH QGIS and use ArcGis just to view the data; it's also far more convenient to build the database in catalog and export using toolbox tools. Don't panic, you still can use your geoprocessing tools in ArcGis, build topology/network make cartographic maps etc.. all the fancy stuff - just don't version the database and edit in ArcGis.

P.S. I back up daily on a scheduled task using pg_dump which can be restored using pg_restore - try your backup/restore process on a test dataset as not every backup method will produce a viable PostGIS database when restored (the tables will be there but the triggers may not work) and that's something you don't want to find out the hard way.

  • 1
    I could be wrong but I thought versioning was optional with ArcSDE for PostgreSQL. – PolyGeo Sep 25 '14 at 22:43
  • 2
    I've not done it either but there is some help here that suggests to me that you just need to change an ArcMap setting to enable nonversioned editing of ArcSDE data. – PolyGeo Sep 25 '14 at 22:56
  • 1
    Non-versioned editing with ArcGIS is probably exactly the same as with QGIS as far as the database and its consistency are concerned. I would suggest revising this answer to include the information @PolyGeo provided, as if you're going to be doing non-versioned editing at all, you might as well be able to do it with whichever client application you prefer. – blah238 Sep 25 '14 at 23:20
  • 2
    @MichaelMiles-Stimson I understand your concerns, but I would just be clear that the same warnings apply to QGIS. If you did DB traces on edits with both clients my guess would be that the queries/transactions as seen by the DBMS would be essentially identical. I mainly just disagree with the recommendation to only use QGIS here as if it is somehow safer to use than ArcGIS (in non-versioned editing mode). The question is about using ArcGIS and QGIS together and I feel that the recommendation to not use ArcGIS at all warrants further examination. – blah238 Sep 25 '14 at 23:53
  • 2
    I agree with @blah238, they're separate rows - the new features get new objectids and the deleted features are from existing, you would only get a conflict if one user edits and the other deletes/edits the same row. Make your saves frequent and/or implement a plan to avoid this situation. In my case users were organized into areas to edit which helped but in the case of polygons and linear features occasionally there was a conflict... I also wrote an auto-save tool which prompted the user to save after 5 minutes, the more outstanding edits the greater the chance of conflict. – Michael Stimson Sep 28 '14 at 22:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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