Workflows for linking other information systems to GIS

03-09-2018 06:57 AM
New Contributor III

From a high level, what are possible workflows for linking a separate information system to our GIS?

Here's our situation:

We have an enterprise GIS for modeling our outside plant that allows us to simulate a signal through our network via a geometric network. We also have what I think of as a business information system (BIS) for managing things like billing, customer care, and operations. These two systems are running off of separate databases, but each has data that would enhance the other. 

*System - ArcGIS Enterprise 10.5.1 & SDE runs on SQL Server 2014*

I've seen some BIS software that integrates the GIS into its user interface, but I'm not sure what's running under the hood. 

So the question stands - what are some workflows to link the two systems? 


0 Kudos
4 Replies
MVP Frequent Contributor

I don't know the specifics, but in the City I work for we have many systems linked to our Enterprise Geodatabase in one way or another.  Some access the data right from the Enterprise Geodatabase (SDE), while others access the back side of the Enterprise Geodatabase (SQL Server) through Views. 

Examples of these systems linked to GIS include:  New World (for Computer Aided Dispatch), Cayenta (for billing), and Maximo (utilities).

To help folks respond to your question, can you provide some more details? 

  • Are you on an Enterprise Geodatabase?  If so, what is the back-end?  Oracle?  Sequel Server?  Another?

  • What version of GIS are you running?

Chris Donohue, GISP

0 Kudos
New Contributor III


Thanks for the comment! I updated the original post to include that information (ArcGIS Enterprise 10.5.1 & SDE runs on SQL 2014)


0 Kudos
New Contributor II

We have done integration several ways.  We have used ETL (Extract Transform and Load) Tools like Microsoft SSIS and Safe FME to move data from our Core Application databases to out GIS database (also MS SQL Server but 2016).  We have used ESRI's Java SDK for ArcGIS to also write a program that reads a list of SQL Statements and runs each individually, recreating the tables on the GIS data nightly for each of the SQL. Example: we create Customer Service table nightly that pulls from several tables in our Core Databases into one result set that we then create a table on GIS database based off of the data in the result set.  We name the table based off of how we named the SQL file.  Since we write our own home grown systems for most things that are not GIS based, we have used ESRI's JavaScript API of ArcGIS to integrate maps in our home grown applications.  Lastly, we have some C# .NET code that we created as a tool bar in ArcMap, that can take a Key value from the GIS layer we click on and then use that key attribute value to query another Database like our Core database to retrieve and show data from these systems based off of matching on the key value.  Hopefully one of these ideas can be of help to you or someone else.

Esri Regular Contributor

As mentioned in the previous replies, the two most common ways I've seen are to use an ETL process to transfer the data into a traditional ArcGIS geodatabase, or if the other systems have an API, then leverage that to pull data into ArcGIS.  The Data Interopability Extension can help with the ETL process, and the ArcGIS API for python can help at the API level.   

Solutions Engineer | @SpatialNinja | Telecommunications