I'm doing political analysis across redistricting cycles, and need to do a lot of data manipulation. I need to split up precincts, do updates, joins, calculations, etc... I'll need a method that is able to handle a table of 500k census blocks. I just bought the home version of ArcGIS.

Should I try to store the data and do the manipulation using the internal .gdb file? That seems the easiest, but I have no idea if it's possible to do SQL-like updates and manipulations. I haven't been able to find the answer in the docs.

I'll need to do:

update table set this = that
create table as (select * from table1, table2 where someclause)

If ArcGIS is not capable of this, what do most people do instead?

  • 1
    It's not ArcGIS which is not capable, but the file geodatabase, which is not based on a SQL RDBMS. However, saving a query set to a new table is a trivial capability, available through both UI and Python. – Vince Feb 29 '16 at 18:24
  • If you're more comfortable with SQL, have you considered just doing this via SQL or PL/pgSQL using PostGIS's wide array of functions? Or is this something you can't automate? It's only really the things you can't automate I'd even consider a desktop tool like ArcGIS. – jpmc26 Mar 1 '16 at 0:34
  • 1
    @jpmc26 I can definitely do the manipulation in PostGIS. It's just that I also need to view the results on a map. – ccleve Mar 1 '16 at 4:45
  • 1
    As mentioned on the other thread, then, QGIS is an excellent choice for PostGIS. It doesn't have all the absurd requirements just for connecting to the DB and pulling data out. You can just point it at a table or view and get a map. – jpmc26 Mar 1 '16 at 5:08

Instead of diving head in without any prior experience with GIS, you should really start to do some basic preparatory learning via tutorials, and familiarize yourself with the "GIS way" of doing things.

It seems you come from a more "database" / SQL type background, ArcGIS, and most other GISs actually hide some of the complexities of SQL. E.g. you generally do not write SQL to update some field, but use geoprocessing tools from the ModelBuilder toolbox instead. For a simple field update, you can use the Field Calculator.

For selections, you can use SQL, e.g. through a Select By Attributes or Definition Query, where you generally only supply the WHERE clause. For joins, use the Add Join tool, or the interface tools for that (right click a layer and choose Join and Relates).

I definitely recommend you to use File Geodatabase over the still ubiquitous shapefiles. Shapefiles have some serious limitations, that will bite you later one (e.g. max 2GB size, short max field names etc.).

  • Rather he could just use QGIS + PostGIS. – Fjellrev Mar 16 '18 at 9:39

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.