I have an ArcMap 10.8.2 project where I'm using layers from a PostgreSQL spatial database connection. It works great but I need to periodically update the layers. I uploaded them in PostgreSQL using PostGIS Shapefile Import/Export Manager. I am looking for a more direct way to update the layers in PostgreSQL. Originally I exported the feature classes from ArcMap to shapefiles and then uploaded them in PostgreSQL. They are very large and work much faster like this than from the ESRI geodatabase. The periodic updates I am getting are in the form of shapefiles but I don't want to run through the same process. Any brighter ideas? FME? Python?
-
2No database table should ever be exported to shapefile, since dBase corrupts some strings, all numeric nulls, and all timestamp values. ArcPy gives many potential ways to replace the contents of tables, including Append, FeatureClassToFeatureClass, and UpdateCursor. I've also used an InsertCursor, with a TRIGGER to do the actual UPDATE.Vince– Vince2023年01月11日 23:05:05 +00:00Commented Jan 11, 2023 at 23:05
-
Noted. I'll try to write a Python to feed from the Esri geodatabase and write in PostgreSQL. Thanks.Fuscus– Fuscus2023年01月12日 21:01:46 +00:00Commented Jan 12, 2023 at 21:01
-
Ok. Maybe I didn't describe properly. FME connects to the ESRI geodatabase and feeds from the existing feature class(es). Nothing is converted to shapefile, I just mentioned if I would feed from a future stand alone shapefile. So the problem is: some workbenches work fine like this, the OID is ok in ArcMap. What is FME doing wrong that the OID is not recognized in ArcMap? Again, when viewing the table in PostgreSQL the OID looks fine.Fuscus– Fuscus2023年03月22日 17:16:51 +00:00Commented Mar 22, 2023 at 17:16
1 Answer 1
All right, SOLUTION: part of the problem was not checking "Auto Connect Attributes" on the connecting lines between transformers. The biggest one was the Coordinate System. Apparently some feature classes translated by FME in PostgreSQL required either to be in a Geographic system or a Projected CS, not sure why but it resolved the OID and displaying the table problem. Thanks.
Explore related questions
See similar questions with these tags.