Dynamic Feature Service Connected to Database on Server

4111
5
Jump to solution
05-28-2015 10:40 AM
NolanAlbarelli
New Contributor III

Hello GeoNet Community,

I manage a fairly simple and straightforward flex viewer for a government agency.  There is a "static" map service/feature layer I publish in arc server and consume in our viewer.  When updates to the data occur (on a spreadsheet) I must go into arcMap, pull the new sheet in, geocode it, and publish it over the current map service/feature layer.  Recently my office has indicated that they want to get away from our "static" feature layer where I must update it after a change and instead migrate our data to a database on the server.  They want input from the database to dynamically update the main feature layer in our tool.

This database work is new to me.  If anyone's involved in this type of work and could help me better understand how one would go about implementing this, I would be greatly appreciative. 

Some basic questions off the bat:

  • What is the best type of server to utilize?  PostGreSQL?
  • Do I need any other licenses outside arcMap, arcServer?  I see mentioning s online of ArcSDE, isn't that BIG $ (deal breaker for client)??
  • Are there any solid tutorials out there on this?

Thanks for taking the time to read my post.

Respectfully,

Nolan

Tags (3)
0 Kudos
1 Solution

Accepted Solutions
RebeccaStrauch__GISP
MVP Emeritus

Nolan,

re: your question about ArcSDE cost....depending on the version of software you are on (and assuming it is on maintenance), ArcSDE is included with ArcGIS Server in most cases (but check with your local ESRI rep or distributor to make sure).  you can read more about all the forms of geodata What is Geodata​ including the various flavors that are available.  I am most familiar with MS SQL, so have no suggestion on PostSQL (but there are threads that talk about it)

Then it seems that maybe you need to look at creating a arcpy script that will automate the reading in of the spreadsheet, creating the events and a feature class (I recommend the file geodatabase), appending or replacing the database that feeds your service and refreshing it.  You could set this up to do it at a specific time (weekly, daily, hourly).  That is one option.

Another would be to create a front end that allows the users to modify the database, preferably a "version" of the database, and then reconcile and post at a specific time.

Sorry I don't have any code specific code to share that shows you how to do all this, but there are probably samples of similar workflows on Geonet and the web.

By the way, it may help to know what version of the software you are using since their are subtle differences between them, and of course what is available licensing wise.  I would suggest 10.2.x or higher

View solution in original post

5 Replies
JakeSkinner
Esri Esteemed Contributor

Hi Nolan,

To accomplish your goal, you can use a File Geodatabase.  Once the spreadsheet is imported into the File Geodatabase, you can geocode the addresses creating a dynamic feature class.  Once the table is updated, the feature class will re-geocode and update automatically.  See the following help doc:

Geocoding a table of addresses in ArcMap—Help | ArcGIS for Desktop

screen1.PNG

NolanAlbarelli
New Contributor III

Thanks for your answer Jake.  I don't think this will meet my needs or expectations of my client.  The client doesn't use arcmap. or the server.  They just manage the data on a spreadsheet that's then emailed to me.  Then I have to import the sheet into an mxd, display lat long, export to feature class and publish over my current service. 

While I understand that I can dynamically update a feature class with a table in the file geodatabase, I want to dynamically update a feature layer in my web service.  Hence the likely need to get the data in a database....but I'll leave that to those who know more than I.......

Thanks!

JakeSkinner
Esri Esteemed Contributor

If you have an ArcGIS Online Organization, you can invite the customer to your organization.  The customer can then use ESRI Maps for Office.  This will allow them to create a map and layer directly from their spreadsheet.  They then can upload this to ArcGIS Online as a feature service.  When updates are made to the spreadsheet, they simply have to click a button, 'Update Layer', and the service is updated.

NolanAlbarelli
New Contributor III

Thanks for your suggestion but this isnt the answer im looking for.  i feel like youre trying to steer me to ESRI products that dont meet my original problem.  I'll do my best to explain simply:

-flex viewer hosted on our server.

-want our feature service (served through arc server) to update when back end database is updated.

-considering developing an html page as platform for colleagues to update database.

-but need database that's housed on the server to FEED the feature service that is published through arc server.

-users of map viewer dont want to make their own map or have to log into esri's online portal.  they want the map layer in their flex viewer updated when they make a change to underlying database.

0 Kudos
RebeccaStrauch__GISP
MVP Emeritus

Nolan,

re: your question about ArcSDE cost....depending on the version of software you are on (and assuming it is on maintenance), ArcSDE is included with ArcGIS Server in most cases (but check with your local ESRI rep or distributor to make sure).  you can read more about all the forms of geodata What is Geodata​ including the various flavors that are available.  I am most familiar with MS SQL, so have no suggestion on PostSQL (but there are threads that talk about it)

Then it seems that maybe you need to look at creating a arcpy script that will automate the reading in of the spreadsheet, creating the events and a feature class (I recommend the file geodatabase), appending or replacing the database that feeds your service and refreshing it.  You could set this up to do it at a specific time (weekly, daily, hourly).  That is one option.

Another would be to create a front end that allows the users to modify the database, preferably a "version" of the database, and then reconcile and post at a specific time.

Sorry I don't have any code specific code to share that shows you how to do all this, but there are probably samples of similar workflows on Geonet and the web.

By the way, it may help to know what version of the software you are using since their are subtle differences between them, and of course what is available licensing wise.  I would suggest 10.2.x or higher