Select to view content in your preferred language

Creating a real-time parking availability GIS web map app

3950
10
10-04-2017 11:35 AM
JayHodny
Regular Contributor

I am seeking ideas/processes/workflows on designing and implementing a real-time parking meter application that shows if a parking meter/spot is vacant or not.  And if not, how much time remains on the meter.  We have smart parking meters that provide a wireless stream of meter-related information.  The meter can sense the presence of a vehicle using RFID sensor technology.  I don't have any experience with GeoEvent Server, connectors and alike, but this seems like a reasonable starting point.  I envision a web map app that shows parking meter symbology in green, meaning no vehicle parked at that meter location (spot available), yellow, meaning a vehicle is parked at this meter location (spot occupied) but having less than or equal to 10 minutes of time remaining, and red, meaning a vehicle is parked at this meter location (spot occupied) with more than 10 minutes of time on the meter.  Or maybe I use 20 minutes as the break point.  I would like the app to have pop-ups illustrating meter information (hours, rates, ID, etc.).  I have been examining Esri's Public Parking solution which would provide a nice static solution, but I don't know how to take the idea to the real-time level.   I would like the application to include gate-controlled parking lots, which compare inbound gate openings to outbound, with the difference indicating available spots (or some similar "accounting" system).  Any input would be greatly appreciated.  Thank you in advance.

10 Replies
MicahBabinski
Regular Contributor

Hi Jay,

That sounds like a really cool idea. I would use that app! Real-time GIS is a new frontier and I'll admit I don't have much in the way of hands-on experience with it,

That said, having a good understanding of ArcGIS GeoEvent Server would be a good place to start. You'll need to process your real-time meter feed and update a dynamic map or feature service in real time (or some small interval).

Depending on the number of meters and the hardware/software configuration of your DBMS and GIS Server tiers, GeoEvent Server and spatiotemporal big data store may be the way to go. If you have fewer meters and sufficient bandwidth, a traditional feature service published from an enterprise geodatabase (with a scheduled task to update the geodatabase from the feed) may suffice as well. Consider what the requirements of the app are, the number of peak users and transactions, and your current architecture capacity when designing the solution.

Hope this helps.

Micah

JayHodny
Regular Contributor

Hi Micah,

Thank you for the great reply!  We have more than 430 parking meters, which as used heavily, and six plus municipal parking lots.  I don't know if that is a number that puts us in the GeoEvent category (when I think of large cities having 1,000s of meters) or if I can stick with the more traditional approach as you suggest.  I have very limited experience with either.  I know GeoEvent could be tasked with other real-time data feeds in our local government (e.g., snow plows and public transportation), so I tend to want to make a case for that level of functionality.

Thank you again for your reply,

Jay

0 Kudos
SharonHuang
New Contributor

ArcGIS GeoEvent Server tutorial is a good place to start.  You can stream the real-time data to a table in the map, and join the table to your map, or you can update the feature directly from the event output setup. 

0 Kudos
TanuHoque
Esri Regular Contributor

Jay Hodny

I see it's an older thread and may be too late for you. I'm adding the following info in case someone else looks for the same info in the future.

pls check this out: https://www.arcgis.com/home/webmap/viewer.html?url=https://idt-gepsample.dc.esri.com:6443/arcgis/res... 

open this webmap, wait for few secs and you will see features' color and size are being changed (not at the rate you are seeing in the animation below though). Pls note that neither new features are getting added nor existing ones are getting deleted - numbers of features remains the same in this case - these are static features representing stream gauges along rivers which don't move.

.

  • If you go the stream service end point and subscribe, you will see that the stream layer only broadcasts attributes;
  • locations are coming from a layer off a map service.
  • If you view the stream service definition in json (https://idt-gepsample.dc.esri.com:6443/arcgis/rest/services/GageStatusRenderer/StreamServer?f=pjson), you will find the map service sublayer url as a value for relatedFeatures.featuresUrl element.
    • Right below that there is another property named joinedField, that is what gets used to join streamed-data with those features (locations) on the client side.
    • Also look for drawingInfo property - that is what defines how features are drawn on the webmap.

Disclaimer: i'm not the owner of this service and I'm not sure how this stream service was created in the first place . I only hope someone with expertise in geoevent server would know the how-to for sure. I'm just stating that it can be done or at least someone has already done it (kudos to that person).

0 Kudos
EricShreve
Occasional Contributor II

Hello Jay,

You can look at this workflow for updating & overwriting a hosted feature service through Python: overwriting_feature_layers | ArcGIS for Developers 

I have this process set up on my web server through the Windows Task Scheduler for processing GeoJSON based weather data into a hosted feature service. Overall a pretty simple workflow if GeoEvent isn't an option for your organization.

Thanks,

Eric Shreve

0 Kudos
JayHodny
Regular Contributor

Hi all,

Thank you for the kind replies and great information.  It never ceases to amaze me at how helpful the GIS community is!  I have created the post in October 2017.  To date, we have only moved forward on establishing a parking space count for our three municipal parking lots.  The City has placed signs at the entrances to our three lots that show a count of vacant parking spaces.  We were able to access the sign vendor's database through their API and add the counts to our Web map and app.  The counts update every minute.  The counts will go negative in the app if more cars enter a lot when the lot is full while people wait for someone to leave.  I am hoping I can do something similar with the smart meters and parking meter data (different vendor) eventually.  In the meantime, I will review the links and materials all of you kindly provided.  Many thanks, Jay

0 Kudos
JayHodny
Regular Contributor

I forgot to include the link to the Parking Locator application (Esri Solution).  The space counts are posted in green circles.

ArcGIS Web Application 

0 Kudos
TanuHoque
Esri Regular Contributor

Thanks Jay for the updates.

We were able to access the sign vendor's database through their API and add the counts to our Web map and app.  The counts update every minute. 

so, this is not real-time updates, right? just to make sure I got it right

0 Kudos
JayHodny
Regular Contributor

Tanu, That is correct.  The space count updates every minute, so it is near-real time, and not a continuous data feed.  Thanks for your interest! Jay