GISquirrel and ST-Links SpatialKit are superficially similar, in that they both allow ArcMap to edit spatial data stored in SQL Server or PostGIS. However there are some fundamental differences that we believe make GISquirrel a better product for serious use and data management.
Architecture and Performance
In GISquirrel, your data becomes true feature classes or datasets in the ArcGIS sense, either based on spatial tables or spatial views. Views are defined in and executed by the database, available to spatial and non-spatial clients alike. The ArcGIS Desktop client pulls data from a GISquirrel feature class on demand, just like from a native ArcGIS or SDE dataset, intelligently restricting data loads to map extent and honouring definition queries. No data at all will be pulled from the server until a layer is made visible.
When you view your spatial database data in ArcMap with ST-Links, it is loaded as an "InMemoryWorkspace" in ArcObjects-speak. Every time an InMemoryWorkspace layer is added to a map, or a map with such a layer is re-opened, the underlying spatial table is read completely into an in-memory dataset. Populating that in-memory dataset from the database may take a considerable amount of time and easily run up against limitations of RAM. InMemoryWorkspaces also have some other limitations; domains, for example, aren't supported, despite ESRI's claims to the contrary.
In ST-Links SpatialKit, the connectivity with the database is defined in the MXD, whereas in GISquirrel database connections are managed separately. We feel this is a more robust architecture, as individual MXDs are prone to accidental change and degradation through time.
Both GISquirrel and ST-Links SpatialKit allow multiple users to edit the same underlying table at the same time, but there are some important differences:
- GISquirrel locks features while they are being edited, to prevent accidental loss of data by two users editing the same feature.
- GISquirrel automatically updates all users' maps with the latest data from other users, whereas the ST-Links SpatialKit InMemoryWorkspace will not update until the user hits the "Refresh" button, which reloads the entire datasets and also changes the map extent.
- GISquirrel automatically maintains and updates the spatial index on underying tables.
- GISquirrel allows attributes domains (pick-lists) on fields, managed as real database look-up tables, to ensure data integrity.
User Friendly Database Browsing
With GISquirrel, once you have established a connection to a database containing spatial tables, and defined GISquirrel feature classes, users can browse this in ArcMap or ArcCatalog just like any other ArcGIS geodatabase or GIS datastore, viewing spatial tables as ArcGIS feature classes or datasets. This is not possible with ST-Links SpatialKit.
Evalulating a user interface is always subjective, but our users tell us that the GISquirrel interfaces are attractive, polished, and easy to use in comparison with ST-Links SpatialKit.
GISquirrel helps manage your data in two important ways:
- Feature class metadata can be edited in ArcCatalog and stored in the GISquirrel feature class in the database, ensuring it is always available with that data.
- Record-level metadata is automatically updated when editing in GISquirrel, so it is possible to see when and by whom every record was created and edited.
ST-Links SpatialKit does not provide metadata management facilities.