POST
|
Thanks for your reply - it is correct that the Feature layer (new or existing) output when writing to an ArcGIS Online hosted feature layer is limited to an average of 2 events/second (120 records per minute, per output). This is a limit imposed from the ArcGIS Online team that ArcGIS Velocity follows. ArcGIS Online organizations with a premium feature data store are able to sustain/allow higher data write speeds. This will be available with the following release of ArcGIS Velocity in early 2023. For some public facing applications, organizations will utilize the Control Event Volume tool to reduce the number of updates/records sent to an output based on feature Track ID. This could be leveraged in your circumstance to keep your update Velocity around/under 2 e/s to be able to write to an ArcGIS Online hosted feature layer if you need to share this layer with the public. The downside to this workflow would be that vehicle location updates to the public could be slightly delayed (likely under a minute, it depends on your number of vehicles and update frequency). https://doc.arcgis.com/en/iot/analyze/control-event-volume.htm We have also implemented a validation enhancement to change the 2 event per second validation error to be a validation warning. There are perfectly valid cases where a feed has a higher rate than 2 e/s but the analytic flow reduces the number of features to under 2 events per second at the output. This will be implemented with our 3.3 release in early November, however the current workaround is to start the feed, and then start the real-time analytic before the feed has started (or start the real-time analytic first).
... View more
10-31-2022
05:07 AM
|
1
|
1
|
1112
|
POST
|
Based on the icons and the fact that there is an accompanying map image layer, you have created a "Velocity feature layer" with data stored in a spatiotemporal layer. This layer type cannot be shared to the public, thus the error message you witnessed. ArcGIS Online hosted feature layers however can be shared to the public. The Velocity "Feature layer (new)" output can be configured to create an ArcGIS Online hosted feature layer. See the following screenshot for reference. By unclicking the toggle "store data in a spatiotemporal feature layer", when unchecked the corresponding feature layer created will exist in the ArcGIS Online hosted feature layer. You can also use the "Feature layer (existing)" output to write to an existing ArcGIS Online hosted feature layer.
... View more
10-27-2022
09:40 AM
|
1
|
3
|
1194
|
POST
|
@ArmstKP If ArcGIS Online is not providing any additional information or context associated with that error, please reach out to Esri Support Services for assistance investigating why the given layer cannot be shared to the public. Once Velocity creates an ArcGIS Online hosted feature layer, it is a native ArcGIS Online layer that could be treated like any other online layer.
... View more
10-27-2022
09:07 AM
|
0
|
5
|
1220
|
POST
|
@ArmstKP Thanks for reaching out with your question! At the current release, ArcGIS Velocity backed feature layers and stream layers can be shared with groups or with your organization, but cannot be shared to the public. The current option in ArcGIS Velocity to share data to the public is to create an output feature layer hosted in an ArcGIS Online layer using the Feature layer (new) or Feature layer (existing) outputs. With our 3.3 release in early November 2022, the Feature layer (existing) output will also support writing to ArcGIS Enterprise/ArcGIS Server backed layers which of course can be configured to be public facing. https://doc.arcgis.com/en/iot/disseminate-and-notify/feature-layer-new-.htm https://doc.arcgis.com/en/iot/disseminate-and-notify/feature-layer-existing-.htm
... View more
10-27-2022
07:42 AM
|
1
|
2
|
1239
|
POST
|
Hi @SimonGIS thanks for reporting this! I have sent you a direct message with my Esri email if you are able to send the shapefile dataset so I can reproduce the issue on my end and investigate. If you open browser network tools and watch traffic, when proceeding to the "Confirm Schema" page the Velocity frontend sends the backend a "sampleMessages" call. In the response body there should be a featureSchema > geometry object where the backend determines the geometry type. Is this included in the sampleMessages response? You are correct that the expected behavior is Velocity automatically handles shapefile geometry according to the information stored in the file. Looking forward to your reply.
... View more
10-20-2022
05:02 AM
|
0
|
0
|
295
|
POST
|
@MuhammadAbuGhosh Thanks for reaching out and for your question! Currently ArcGIS Velocity offers three license levels, standard / advanced / dedicated. The Standard license is suited for organizations with lower velocities of data and simple use cases. It sounds like this would be applicable to your case where you have one or multiple feeds, and then would have a real-time analytic sending the data to update either Velocity-hosted or ArcGIS Online hosted feature layers for reference in your dashboards and maps/apps. I am not yet aware of any vendors / non-Esri companies offering partial Velocity items as a service. ArcGIS Velocity licensing documentation
... View more
10-06-2022
06:10 AM
|
1
|
0
|
423
|
POST
|
@ArmstKP Thanks for sharing this layer with me! I was able to reproduce the issue and can confirm it is due to the fact that your only present layer index for this service is 221, rather than the expected 0. I wrote an enhancement/bug on our side to enhance the product to lookup layer IDs dynamically for the Feature Layer (existing) output rather than assuming the first layer index is 0. In the meantime, I suggest the following workaround attempt: Create new item in your ArcGIS Online content referencing your layer URL including the sublayer index https://services6.arcgis.com/MU31z9HAakdc3W69/arcgis/rest/services/Velocity_ParkingLot_4326_2/FeatureServer/221 Choose to store credentials with this item Proceed with setting your sharing/tags/information as desired Use this new item to reference in ArcGIS Velocity when configuring the Feature Layer (existing) output Please let me know if you have success with this workflow
... View more
09-30-2022
08:36 AM
|
1
|
0
|
417
|
POST
|
@ArmstKP Thanks for reaching out! I would like to investigate this on my end to see if there is a workaround or a way we can better handle this on the Velocity side. Two options: Are you able to share this layer in an ArcGIS Online group with my ArcGIS Online account, "pnasuti_iot"? Can you provide a screenshot of the "fields" section of this layer on the service layer REST endpoint?
... View more
09-29-2022
11:49 AM
|
0
|
2
|
474
|
POST
|
@ArmstKP The metrics show 0 features passed Detect Incidents - this would require additional information to investigate: What are all the specified parameters of the Detect Incidents tool Send output to feature layers for inspection Send "Join Features-1" to a new feature layer (Add new features, replace existing features) Send "Parking lots" to a new feature layer (Add new features, replace existing features) Add both these feature layers to a web map Inspect to ensure that vehicle AVL points overlap/intersect Check spatial reference of target and join pipeline nodes going into this tool to ensure that they match If the above does not lead to findings to resolve this, you may be better served by opening a support ticket with Esri Support Services to have a call/screenshare for further investigation.
... View more
09-21-2022
07:30 AM
|
1
|
0
|
870
|
POST
|
@ArmstKP Yes my mistake! Thanks for catching that - I will edit my above post for the future reference of others as well.
... View more
09-20-2022
01:06 PM
|
1
|
2
|
884
|
POST
|
@ArmstKP Thanks for the additional info! Looking at the metrics of your analytic, "Find Dwell Features" has 0 records, so we can identify this tool as the "blocker" to explain why your model has no outputs. This tool more than likely has no outputs because of your properties "distance tolerance: 500 feet" and "time span tolerance: 15 minutes". When a plow truck is moving around plowing a parking lot, it is still in motion and getting bread crumb updates at distance and time span greater than the tolerances specified. Therefore, none of your AVL track points satisfy a "dwell" per this criteria, so this tool has no output. You could adjust the distance/time tolerance to better identify parking lot plowing speed as a dwell, but this could capture many other events when the plow truck is merely driving slow or plowing elsewhere. Rather than diving into analytic design for that tool configuration, lets consider a few things. From your description, it sounds like the fundamental goal is to update the parking lot polygons with their lastserviced field with the last date of service. In this reply, I am moving forward with that assumption, but if that assumption is wrong please correct me. This is a common AVL/geospatial scenario that has been addressed by various implementations of the below logic to identify/recognize vehicle visits to certain locations. Consider the following design approach as an option: Sources Parking lot polygons Vehicle tracks Events (Assuming this is winter storm events) Outputs Parking lots (updated with lastserviced date) Tools: Keep your Join Features-1 to enrich Vehicle Tracks with event information Add "Detect Incidents" tool as the next tool after Join Features-1 Pipeline: Target: output of Join Features-1 Join: Parking lot polygons Configuration: Open condition: spatial relationship: intersects Accept other defaults Why use this tool? Create unique sets of observations for each detected incident (plow truck in parking lot polygon) Filter your AVL dataset down to events where plow trucks are working on parking lot polygons Add "Reconstruct Tracks" tool as the next tool after Detect Incidents Pipeline: Target: output of Detect Incidents Configuration: Summary Fields: Your datetime field, statistic of MAX, we will call this "datetimefield_MAX" IncidentDuration field, statistic of MAX Accept other defaults Why use this tool? Take your set of AVL/breadcrumb points and convert them to a polyline representing plow truck travel within the parking lot plowing event. Also acquires the duration of the dwell event in milliseconds. Add "Filter by Expression" tool as the next tool after "Reconstruct Tracks" Pipeline: Target: output of Reconstruct Tracks Configuration Filter down any polylines less than "x" milliseconds of duration Filter on DwellDuration_MAX field Why use this tool? Filter out the cases where a plow truck drove into a parking lot briefly but didn't actually spend enough time to plow the location Add "Join Features-2" tool as the next tool after "Filter by Expression" Pipeline: Target: output of Filter by Expression Join: Parking lot polygons Configuration Spatial: intersects Summary fields: Parking lot name/identifier, ANY Why use this tool? Append the associated parking lot name with the reconstructed AVL track plowing that parking lot to the schema Add "Summarize Attributes" tool as the next tool after "Join Features" Pipeline: Target: output of "Join Features-2" Configuration: Field: the Parking lot name/identifier, ANY that was generated in prior Join Features tool Summary field: Datetimefield MAX Why use this tool? For each unique parking lot processed by the former tools, calculate the most recent datetimefield value to get the most recent plow visit Add "Join Features-3" tool as the next tool after "Summarize Attributes" Pipeline: Target: Parking lot polygons Join: Output of Summarize Attributes tool above Configuration: Attribute join between parking lot name/identifier fields Summary field: datetimefield value ANY to append the latest edit value Why use this tool? Append the latest datetimefield value to the schema of the parking lot polygons Add "Map Fields" tool as the next tool after "Join Features" Pipeline: Target: Join Features-3 tool output from above Configuration: Replace your original datetimefield value in Arcade expression with the value from this new field Delete this new/surplus datetimefield value once the value is utilized Why use this tool? Update the parking lot polygon modified datetime value There are many ways to design and configure analytics in ArcGIS Velocity, and I have provided the above as an example that has led to success for other users for similar use cases.
... View more
09-20-2022
12:33 PM
|
1
|
4
|
894
|
POST
|
@ArmstKP Thanks for reaching out and asking your question! There are many different ways this could be approached and your analytics could be designed using ArcGIS Velocity. Much of this depends on your goals and desired outputs/outcomes: Do you want to trigger an alert/notification when a plow is plowing a parking lot? (Filter by Geometry tool to notification outputs) Do you want to enrich breadcrumb observations with whether or not a parking lot is being plowed, or also enrich with the parking lot ID associated with each breadcrumb (Join Features tool) Do you want to identify the start and end times, know the event duration, create an event identifier of each "parking lot plowing event"? (Detect Incidents tool) Do you want to know each time a snow plow "dwells" within a certain boundary, likely plowing a parking lot? (Find Dwell Features tool with distance/timespan tolerance) You can do all of the above, or any combination of the above when building up your analytics. Feel free to provide additional details about your desired outcome/output goals.
... View more
09-20-2022
11:02 AM
|
0
|
6
|
930
|
DOC
|
@ArmstKP Thanks for your post! From your description, it sounds like you are working in a real-time analytic. At the current production release, Snap to Network is only available in big data analytics. Good news however! The next release of ArcGIS Velocity (3.3, planned for early November this year) adds the Snap to Network tool to real-time analytics. Until then, you could configure a scheduled big data analytic that runs every x minutes to process the output of your real-time analytic and snap the features to your network. Near-real-time analysis documentation
... View more
09-12-2022
10:48 AM
|
0
|
0
|
621
|
POST
|
@SimonGIS Thanks for reaching out and for your question! You are correct that this would work best with the "HTTP" output from ArcGIS Velocity. Documentation page here: https://doc.arcgis.com/en/iot/disseminate-and-notify/endpoint.htm There are a few required parameters when configuring an HTTP output in Velocity: URL: What is the endpoint that is accepting the HTTP POST operation HTTP Method (coming at next release): Choose between POST/PUT/DELETE At the current release, our HTTP output supports the POST HTTP method. In the coming 3.2 release for late June, we will be adding support for PUT and DELETE HTTP methods as well. Request Body (optional) Optionally provide a request body of content type JSON, Plain text, XML, or CSV If providing a JSON request body, use the Arcade "Configure expression" interface to build the JSON body You must wrap the JSON expression with the Arcade "Text()" function Content type Specify the request content-type (JSON, Plain text, XML, or CSV) Optionally specify authentication (coming at next release, we will also support OAuth 2.0), URL parameters, and custom headers for your request There are free utilities such as https://webhook.site/ which let you test the HTTP output from ArcGIS Velocity to see exactly what you are sending out of this output. Remember that an HTTP request will be issued for every feature sent to this output, so be sure that your destination resource can handle the number of requests you configure to come from ArcGIS Velocity. Related screenshots: You would need to configure ArcGIS Velocity with the "Request body > Configure expression" to build a request body that can be parsed/understood by your downstream components. In this case, that would be Microsoft Automate. Other users have configured requests with this output that integrate with various 3rd party APIs. I agree that this would make an intriguing blog post, we will look into that on our end. Please feel free to reply with any follow-up questions!
... View more
05-11-2022
09:59 AM
|
2
|
0
|
438
|
POST
|
@Jan-Tschada As an update to this thread, ArcGIS Velocity now offers a gRPC feed type The gRPC feed type in ArcGIS Velocity creates a built-in gRPC path endpoint that can be used to programmatically send data from gRPC clients and applications to Velocity, either in discrete requests or in a continuous stream. gRPC is an open-source remote procedure call framework used to connect distributed applications and services. gRPC feed documentation can be found here
... View more
03-11-2022
06:07 AM
|
1
|
0
|
609
|
Title | Kudos | Posted |
---|---|---|
1 | 08-20-2024 06:07 AM | |
1 | 07-31-2024 11:51 AM | |
1 | 07-31-2024 11:58 AM | |
1 | 07-08-2024 05:36 AM | |
1 | 03-18-2024 04:10 AM |
Online Status |
Offline
|
Date Last Visited |
a week ago
|