creating flat structure GeoEvent Definition from Verizon Networkfleet

3346
22
Jump to solution
02-05-2019 09:31 AM
ErikBlake
Occasional Contributor III

So I am completely new to GeoEvent Server. I am trying to understand how to map verizon's networkfleet message to a flat structure. The appendix page that comes with the instructions on how to install the connector is not very informative for a newbie like me. I need some more guidance. Is there anymore detailed info out there that shows how to do this? 

I have all the definitions that get created when you add the adapter. I am confused about how you get this:

"GPSFix.Speed[0].Value"

"GPSFix.Speed[1].Value"

"GPSFix.Speed[2].Value"

I am not sure what the "value" part of this is, or the number in the brackets.

Also confused about the appropriate outputs to use. I have a feature service created. Just trying to figure out how I can get my feature service updated with the location of our vehicles. The end result I want is to have one point representing each vehicle in our fleet that shows their location every so often based off our contract with verizon. Don't need any elaborate set up. just a simple output showing locations with vehicle label. 

Any help with where to find more documentation, or even an example of someones Geoevent service structure that they have created, would be greatly appreciated from a newbie such as myself

Thanks.

 

 

0 Kudos
22 Replies
ErikBlake
Occasional Contributor III

Nathan

I had a quick question about the "delete old features" option under the advance section of the update feature output.

Does this actually delete your vehicle feature displayed on the map, or just the log info that gets sent to display the feature. Sorry if this sounds confusing. I guess I don't know how to really ask the question. My point that I am trying to get at is, what is the best practice or recommended setting to have so that our service doesn't start to get sluggish or bogged down. Thanks.

0 Kudos
NathanKemphues
New Contributor III

If you are using the Update Features output, then the "Delete Old" option will clear off vehicles that haven't moved in a while. Your service shouldn't get bloated with this setup: you will never have more records than you have trucks. However, if you use the "Add Feature" output, you can get a new feature record every time the GPS sends a signal. In that case, you will have a historic record, however it can turn into a huge dataset, so you may wish to limit the length of time you store them, which would be the value of "Delete Old."

ErikBlake
Occasional Contributor III

Thanks Nate

0 Kudos
MikeSchonlau
Occasional Contributor III

Hello Folks

We have been using Verizon NetworkFleet inputs with GeoEvent for about the past 18 months. I'm happy to share what we've learned (mostly the hard way). We currently have public snow plow maps displaying live vehicle locations around the City. Here a few notes that we have discovered along the way:

  • The Verizon GPS payload is really the only one we care about
  • For adding attributes like a vehicle id, vehicle group, or driver names, we found using the Field Enricher (feature service) is the most reliable way to go
  • It is a good idea to come up with a data retention policy for AVL data because it can grow large fast and it will ultimately slow your feature service down if you don't truncate/archive it

Here is some information I recently shared with another user about we setup our GeoEvent services to add vehicle id's and other custom attributes:

To solve the vehicle labeling problem, I first published a hosted feature service in ArcGIS Online (you could also publish this to ArcGIS Server). This is my lookup table that contains the VIN's and their corresponding Vehicle ID's and Vehicle Groups. Here is the schema:
And this is how that attribute table is populated:
I needed our Public Works folks to create this table for me and then I loaded their table into this feature service. The geometry of the records is not important and not used, so I just gave all of the records a geocodable address.
Now in GeoEvent, here is the service I created:
I think the data stream I am getting from Verizon is actually just the GPS payload data, so I probably don't need the filter. The Field Mapper looks like this:
You can see I'm creating a new GeoEvent Defintion that includes the new fields I want to populate.
Now I send those GeoEvents to the Field Enricher, which looks like this:
The Enrichment Fields are the new fields I want to populate using info from the lookup hosted feature service. The join is happening on the VIN field from both the incoming GeoEvents and my lookup hosted feature service.
I am then sending the resulting GeoEvents to my output feature services - one for the current location only and another for the cumulative locations:
I hope this is helpful. Feel free to contact me if you have other questions. 
Mike
EricSpangenberg
New Contributor III

Michael,

Thank you very much!  We are learning the hard way here as well, although with responses like yours and Nathan's above, probably not has hard as yours!

I appreciate your willingness to take the time to share your experience. 

One thing, the images you shared in the post above - those didn't come through, the links do not seem to show?  The url is mail.google.com/mail.....

Would you be willing to send direct to me (espangenberg at lccountymt.gov)

Thank you again.  I hope this has been as helpful to Erik Blake as it has been for me!

MikeSchonlau
Occasional Contributor III

I think I fixed the images. Let me know if you still can't see them.

0 Kudos
EricSpangenberg
New Contributor III

Fixed - thank you!  This is very helpful!

0 Kudos
ErikBlake
Occasional Contributor III

Thanks again Mike

ErikBlake
Occasional Contributor III

Hey Michael, Good morning. So we just started experiencing our feature service really slowing down like you stated in your previous reply. I tried to compress our database and unregister our dataset to drop the delta tables. But it had grown so large that even trying to compress it and let it run over night didn't work, it just ran and did nothing. So I started from scratch built a new enterprise database and all that. And have now started to compress nightly or every other day. this seems to keep our feature service and the labeling performing pretty well. I guess my question fro you is what do you do to keep it from getting bogged down. 

0 Kudos
MikeSchonlau
Occasional Contributor III

Hi Erik

We typically use two methods to control this data. 1) The Advanced settings of your Geoevent output enables you to Delete Old Features and set the age of those features to truncate. 2) We make regular backups of the feature classes, so we don't ever completely lose that old data.

A specific scenario might be snow plows. We typically get snow between November and March. We create daily backups of the snow plow AVL feature classes during that period by copying them into file gdb's and zipping those gdb's (might be overkill - could get away with less frequency) using Python scripts. Then we set the Advanced properties on our Geoevent output to only keep the data we need to use for public snow plow maps and internal analysis. We can always go back to an archived copy of the data if we need to use it.

Actually, since my earlier messages we are now writing all of our NetworkFleet data to hosted feature services on ArcGIS Online and it works well. We then publish this data as hosted feature views, where we can control which fields are visible and other filters. Hope this helps.

0 Kudos