Classic ARC/INFO Commands in PostGIS: Getting started
- artlembo
- Nov 20, 2025
- 2 min read
Updated: 1 day ago

At the recent FOSS4gNA conference, I had the pleasure of hearing about some of the new features in PostGIS. One such set of features were the Coverage related features (ST_CoverageInvalidEdges, ST_CoverageUnion, ST_CoverageSimplify). These functions made certain adjustments in the data structure to allow for faster spatial operations. Listening to what the functions did, it sounded oddly familiar to the ESRI coverage model used in ARC/INFO - you know, the from node, to node, left/right polygon stuff.
Sure enough, that's what it was. And, the word coverage was sort of an homage to the ESRI implementation of explicitly storing the topology within the data structure of the graphic objects.
It got me thinking: why not write a blog series on the PostGIS SQL implementation of some classic ARC/INFO functions. So, over the next two months, I'll be posting a new ARC/INFO function, reimagined in PostGIS with SQL. I figured today being PostGIS day makes it a good of day as any to start these posts.
I plan to tackle around 15 tasks in the following order:
NEAR Command - released on 11/20/2025 ( @postgis day)
Define Projection and Project - released on 11/24/2025
Mean Center - released on 11/28/2025
Weighted Mean Center - released on 12/04/2025
Central Feature - released 12/10/2025
Nearest Neighbor - released 12/10/2025
K Nearest Neighbor - released 12/11/2025
Symmetrical difference - released 12/15/2025
Erase - released 12/23/2025
Intersect - released 1/9/2026
Identity
Union
Dissolve
Multi-ring buffer
Bivariate Map creation
If you are like me, you learned GIS with ARC/INFO, and have fond memories of the experience. In fact, more than the classes I took, I think the ARC/INFO help manual and other ESRI materials is what caused me to fall in love with geography and GIS.
I started with ARC/INFO 3.21 on a DEC VAX PDP 11. Actually, my first ESRI product was AUTOMAP II on a Burroughs mainframe with the CANDE operating system – we even had to use a SYMAP ruler to plot our points for digitizing.
So, to begin these posts, I have a Postgres backup file that you can download, and restore in your Postgres database.
Once downloaded, you can unzip the file and add it to a Postgresql database using the restore command in PGAdmin:

You can try the SQL commands on the layers in the backup file. These include real GIS data from Tompkins County, NY (my old stand by for training materials), and a number of data sets from my textbook An Introduction to Statistical Problem Solving in Geography.



Comments