Look, Ma! I made a mobile geodatabase!

I did, indeed. Prompted by a tweet from the ever-vigilant Randy Hale, I fired up my just-updated ArcGIS Pro 2.7, created a new mobile geodatabase, and exported a feature class into it.

First impressions: It works. It’s nice. It is new in ArcGIS Pro 2.7, and only works in ArcGIS Pro 2.7. ArcMap 10.8.1 doesn’t see it. It has many advantages (compact, modern, high size and name limits) over other geodata formats such as shapefile and file geodatabase. It is very similar to the geopackage in that it uses the open-source SQLite database. It also looks like it’s Esri’s attempt to push users off ArcMap and onto Pro by recreating the personal geodatabase for the 2020s. 

If you are a member of a GIS team where everybody uses only ArcGIS Pro 2.7 (and whose data partners also only use ArcGIS Pro 2.7), the mobile geodatabase looks like an attractive proposition. In my own work experience however (1, 2), no GIS data-sharing partner has ever requested or delivered anything but the much-maligned shapefile. YMMV, and this will likely change going forward, but as of today this is my reality.

So where does that leave me? What should I do with the mobile geodatabase today? I will dive deeper and try to discover all the advantages (and eventual drawbacks) of the mobile geodatabase. I may eventually move my data out of file geodatabases and into mobile geodatabases (which will require an update to all my maps’ sources). And I will begin to offer mobile geodatabases to data-share partners. I think I know what they’ll say.

3 responses

  1. It’s very nice to have a “personal geodatabase” that can work with Pro. I haven’t tried it with these “mobile geodatabase” but I ran into a number of problems when trying to update rows in an ArcGIS-produced geopackage using this free and open source ODBC driver for sqlite: http://www.ch-werner.de/sqliteodbc/. The ODBC error complained about a missing geometry function and the inability to update R-tree indexes. Have you tried this on a mobile geodatabase? Running into the same problem? It would be really nice to be able to update a sqlite row (non-spatial column) in MS Access, MS SQL Server, etc. I wonder if the OS community can find a way to get this ODBC driver to work with spatial objects in sqlite?

    Liked by 1 person

      • I finally had the time to try to update the mobile geodatabase via the ODBC driver I mentioned before. And I ran into the same error I got when trying to update a geopackage created via ArcGIS: “no such module: RTREE(1) (#1”). This does not surprise me. And it strongly suggests that these mobile geodatabases are truly Spatialite databases with the .geodatabase file extension and additional tables to track ESRI geodatabase functionality (all of their names start with “gdb_”). I agree with your comment that people should think twice before investing time with Access databases. But this is a bummer because we still don’t have read/write access to ESRI geodatabases through ODBC (without paying for ArcGIS Server (ArcSDE)). I tried to do the same using DBBeaver. It notes that it connects to the database via SQLite JDBC When you attempt to update an attribute in a table with a spatial column, it gives the error: no such function: UpdateIndexEntry. So it sounds like these drivers need to be constructed with access to the functions that manage the indexes. I’m a big fan of FOSS4G, but at work we are heavily dug into the ESRI environment. It would be nice to be able to update my ESRI database from outside their ecosystems.

        Liked by 1 person

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: