|
POST
|
I have a fairly large points layer in a hosted feature service - Lets call this incidents This layer is frequently changing every couple of minutes with new records, deletes and updated locations. I have a polygon layer as a hosted feature service - lets call this districts A static layer that never changes shape. This is all in ArcGIS Online. No ArcGIS Enterprise in the mix. As a user, I want to have a count of how many points there are in each polygon, along with perhaps some summary stats on the numerical fields from the incidents layer. With a DBMS + ArcGIS Enterprise, I could create a nice Query layer and leverage ST_Intersects to have the polygons dynamically count how many features there are within them. But, I don't have access to these for this project. I was looking at Arcade, but does not look like this is possible to reference a separate layer. I was also looking at the Geometry Engine and the Contains method on a polygon in the Esri Javascript API (custom front-end logic is fine). This sounds client-heavy. I would have to send all incidents to the browser and then loop through each incident that is contained in each district to tally up scores, and then render. But, could be an option here. Could do with a sample snippet or pseudocode as a headstart... There is the Spatial Join analysis tool, but the frequency this would need to be run (every couple of minutes) going to burn through my credits allowance fairly quick. Anyone want to brainstorm this a little and offer a better suggestion I might not have thought of? A Python funtion running every couple of minutes on AWS Lambda every with some non-arcpy libraries that perform the counts/summary stats?
... View more
10-30-2018
07:05 AM
|
0
|
4
|
2010
|
|
BLOG
|
As a user, I would like to use a URL to open a survey in the Web Form, and open a specific record, so that I can share the record with someone else to edit. I have created a simple Survey using the Web Designer. I have published and made public for testing: https://survey123.arcgis.com/share/4f591c3575e94ceb9e605f1a74ca9704 I was hoping one of the URL params would allow me to open a specific record into the Survey, so I could continue finishing in the additional Questions at another time.
... View more
10-26-2018
02:09 AM
|
0
|
0
|
11519
|
|
POST
|
Polling a GTFS-Realtime feed. Have some logic in Node to decode the Protocol Buffer and manually massage into a format suitable for pushing into an ArcGIS Online Hosted feature service. Two example messages from my source back-end shown below. (typically around 3000-4000 messages in each packet) Created logic to push this into an destination ArcGIS Online Hosted Feature Service with same schema, currently using ApplyEdits. This push would happen every 30 seconds - (we need to be as efficient as possible) We only require the current location of each unique transit vehicle in the hosted feature service i.e. We do not care about its previous history/breadcrumb trail. We are trying to push the real time vehicle locations from the GTFS-Realtime feed into a hosted feature service. Problem is, we keep creating duplicate points, when we need to: Create new feature if the vehicle_id does not exist in destination feature service Update existing features if the vehicle_id does exist I was initially looking at ApplyEdits, but then stumbled across Append Upsert capability on the root REST endpoint for a feature service. But, struggling to get it to work. The unique ID is going to be the vehicle_id on both sides. Problem: Getting duplicate records every time we push the JSON using ApplyEdits. The Append Upsert endpoint sounded like it was a better operation to use: "Upsert is used to add new features and updating existing features at the same time. It is a high performance API capable of handling large volume of data." "The destination objectId or globalId fields do not need to be mapped to source fields of the same type. Source featureId can come from different field type as long as the values are acceptable destination featureId value." However, we have tried a few different approacheswe are struggling to get this to work. It sounds like we can push our response to a hosted feature service and use our source ID of vehicle_id (string), and potentially push this into a GlobalID (string)? We have a GlobalID on the destination feature service. What would the params looks like for an Append Upsert with a foreign ID on the source? A copy of the test service is here with the Append operation available and fully open: https://services9.arcgis.com/M6PRFWHKXSvV72Qg/ArcGIS/rest/services/Transit_Vehicle_Locations/FeatureServer/append {
"adds": [
{
"geometry": {
"x": 151.20631408691407,
"y": -33.882198333740237
},
"attributes": {
"vehicle_id": "4205062-10795-DN-91",
"trip_id": "4205062-10795-DN-91",
"route_id": "IWLR-191",
"bearing": 20,
"start_time": null,
"start_date": null,
"speed": null,
"congestion_level": "UNKNOWN_CONGESTION_LEVEL",
"TransitType": "lightrail"
}
},
{
"geometry": {
"x": 151.19384765625,
"y": -33.8746337890625
},
"attributes": {
"vehicle_id": "4205063-10795-DN-90",
"trip_id": "4205063-10795-DN-90",
"route_id": "IWLR-191",
"bearing": 221.6636657714844,
"start_time": null,
"start_date": null,
"speed": null,
"congestion_level": "UNKNOWN_CONGESTION_LEVEL",
"TransitType": "lightrail"
}
} We have also been pondering if we should be looking at leveraging ArcGIS-REST-JS? This does not appear to have an append function, but the updatefeatures approach might be a better approach to deal with responses, especially when we move this to using a secure hosted feature service. Any tips or suggestions would be really appreciated. This service will later be available for all to use via a view layer.
... View more
10-22-2018
03:21 AM
|
0
|
0
|
1584
|
|
POST
|
I am trying to tweak the prevent self-intersecting lines sample for polygons. I want to avoid the user creating any self-intersecting polygons, making similar use of the client-side GeometryEngine package. I have tried a variety of combinations, but struggling to massage this sample to work for polygons. Can someone help put me out of my misery? This is one of my attempts: https://jsfiddle.net/jobvt523/ Still not catching all cases of self-intersecting polygons.
... View more
10-22-2018
02:06 AM
|
1
|
0
|
1414
|
|
POST
|
I have setup simple linear referencing on a pipes layer by feeding in a line featureclass that contained start/end chainage values. This create a M aware routes layer. All the data is loaded into an Oracle Enterprise GDB. This is being used in IBM Maximo. Maximo is conifgured to pull its chainage values from the original attributes in the line featureclass. The route layer (pipes), is M aware, but does not contain the original start/end chainage values, and I think this is by design. So the problem is if I make changes to the route layer, Maximo still refers to the old chainage values in the original featureclass. According to the Maximo documentation: You need to keep the route feature class in sync with the original feature class configured in Maximo Spatial Asset Management. You must define a process to recreate it periodically. If a route layer changes, how can I automate updating the original Start/End chainage values? (which Maximo is dependent on). I am not using Roads & Highways or the Gas Pipeline model. Just plain old linear referencing.
... View more
09-13-2018
04:17 AM
|
0
|
4
|
2001
|
|
POST
|
Just tried from proenv.bat (run as administrator) conda install -c conda-forge selenium --no-pin Worked perfect. Thanks Mr.P
... View more
09-07-2018
10:36 PM
|
1
|
0
|
1433
|
|
POST
|
Pro 2.2.1 (upgraded from prior versions). Trying to install Selenium Pro interface, options, python, dont seem to be able to install new packages (greyed out) Resorted to firing up proenv.bat as Administraor Running conda install -c conda-forge selenium Full output of console here. CondaError: Cannot link a source that does not exist. C:\Program Files\ArcGIS\Pro\bin\Python\pkgs\et_xmlfile-1.0.1-py36_0\Lib\site-packages\et_xmlfile\__pycache__\__init__.cpython-36.pyc Attempting to roll back. DEBUG menuinst_win32:__init__(199): Menu: name: 'Anaconda${PY_VER} ${PLATFORM}', prefix: 'C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3', env_name: 'arcgispro-py3', mode: 'None', used_mode: 'system' DEBUG menuinst_win32:create(323): Shortcut cmd is C:\Users\Simon\AppData\Local\Temp\_MEI40322\python.exe, args are ['C:\\Users\\Simon\\AppData\\Local\\Temp\\_MEI40322\\cwp.py', '"C:\\Program Files\\ArcGIS\\Pro\\bin\\Python\\envs\\arcgispro-py3"','"C:\\Program Files\\ArcGIS\\Pro\\bin\\Python\\envs\\arcgispro-py3\\python.exe"', '"C:\\Program Files\\ArcGIS\\Pro\\bin\\Python\\envs\\arcgispro-py3\\Scripts\\jupyter-notebook-script.py"', '%USERPROFILE%'] CondaError: Cannot link a source that does not exist. C:\Program Files\ArcGIS\Pro\bin\Python\pkgs\et_xmlfile-1.0.1-py36_0\Lib\site-packages\et_xmlfile\__pycache__\__init__.cpython-36.pyc
... View more
09-06-2018
03:20 AM
|
0
|
2
|
2670
|
|
POST
|
Good tip, but no luck. I can also replicate if I also have ArcGIS Pro open with the MD in a map when trying to run the script from a separate instance of PyCharm.
... View more
06-19-2018
04:06 PM
|
0
|
2
|
2423
|
|
POST
|
I have a mosaic dataset that points to a folder that contains a single NetCDF. I have a script that: Downloads a new NetCDF from an external FTP Deletes previous NetCDF and unzips the new NetCDF Same filename as before Runs SynchronizeMosaicDataset_management (line 68) This appears to be working fine. However if I publish an image service from this Mosaic Dataset, the script fails to run as the image service has a lock on the mosaic dataset. Is there a workaround to this or will I also have to include a start/stop image service (using Python Admin API I presume) into my script? This particular example is just a test run with a file that only changes daily, but I have a requirement to work with another dataset on the FTP that changes on a 30 minute interval. Stopping and starting the service is going to interrupt users workflows downstream of the image service.
... View more
06-19-2018
04:49 AM
|
0
|
4
|
2772
|
|
POST
|
This is the answer,the patch solved the problem entirely. Big thanks.
... View more
06-09-2018
06:40 AM
|
1
|
3
|
1484
|
|
POST
|
+1 I get this and end up with a lot of .debug files that sometimes don't delete when I shut the powerpoint down. Any settings to avoid this happening? I assume it is likely on the MS side?
... View more
05-28-2018
10:50 PM
|
0
|
0
|
1406
|
|
POST
|
Any workarounds to this? Have been getting this on two separate instances of an ArcGIS Enterprise base deployment at 10.6 To replicate I just need to try and create new content - aggregate a layer/find nearest/create density. All fail about two seconds after clicking. Was working fine a few days back describedatastore reports healthy and in readwrite mode Can create a new H-Feature layer from My Content and make edits to it in the Map Viewer ArcGIS Server logs from Hosting Server: E May 18, 2018, 9:04:56 PM com.esri.insights.utils.InsightsException: Failed to create data source ''/enterpriseDatabases/AGSDataStore_ds_czvkmebe''. at com.esri.insights.Server.getDataSource(Server.java:199) at com.esri.insights.Server.getManagedUserSchema(Server.java:117) at com.esri.insights.RelationalDataStoreService.getManagedUserSchema(RelationalDataStoreService.java:101) at com.esri.insights.RelationalDataStoreService.vacuumAnalyze(RelationalDataStoreService.java:149) at com.esri.insights.tools.adddata.FeaturesLoader.createIndexUpdateExtent(FeaturesLoader.java:101) at com.esri.insights.tools.adddata.FeaturesLoader.finish(FeaturesLoader.java:304) at com.esri.insights.utils.ADSDatasetImporter.lambda$copyFeaturesLoop$4(ADSDatasetImporter.java:180) at java.util.concurrent.CompletableFuture.orAccept(CompletableFuture.java:1441) at java.util.concurrent.CompletableFuture$OrAccept.tryFire(CompletableFuture.java:1414) at java.util.concurrent.CompletableFuture$CoCompletion.tryFire(CompletableFuture.java:1020) at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474) at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1632) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.NullPointerException at com.esri.insights.Server.getDataSource(Server.java:162) ... 14 more
... View more
05-18-2018
04:05 AM
|
0
|
5
|
3893
|
|
POST
|
As an open data admin, I want to create a script that will identify any open data enabled groups within my organisation and then apply a creative commons license to all of the items in it so that these will flow through to the items on the open data site. Is there a property to distinguish which groups are open data enabled?
... View more
05-05-2018
07:26 AM
|
0
|
0
|
603
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 09-28-2016 04:42 PM | |
| 1 | 10-22-2018 02:06 AM | |
| 1 | 02-07-2019 05:34 PM | |
| 1 | 01-06-2019 02:12 PM | |
| 1 | 06-08-2017 06:29 PM |
| Online Status |
Offline
|
| Date Last Visited |
11-11-2020
02:22 AM
|