POST
|
I'm having trouble finding the 3-way intersection of a point, polyline, and polygon. I have 3 feature layers with each containing one of the geometries. When a polygon is selected, I'm trying count the intersection of the point with polylines that are in the polygon boundaries. I can find the intersection of polygon with point and polygon with polyline, but can't seem to figure out how to then find the point/polyline intersection. My thought process has been: - Create 2 feature sets from the point feature layer and polyline feature layer - Find intersection of those feature sets with the polygon - Loop through the point feature set, explicitly make a point geometry from the feature, add buffer to the geometry, test for intersection with the polyline feature set, and increment a counter if intersects returns true Initially, I wasn't explicitly creating a point geometry from the feature as from my understanding of the arcade documentation, the intersects function should take a feature or geometry as a parameter along with a feature set. However, since that wasn't working, I tried to create the point geometry to see if that would resolve the problem. This isn't yielding any results, and I'm at loss now. I also tried doing this the reverse way of looping through the polyline feature set and checking for intersection with the point feature set though that also wasn't working (and didn't make as much sense). Any help would be very much appreciated! Arcade Script: //create feature sets from 2 layers var accidentFeatureSet = FeatureSetByName($map,"Bicycle Accidents 2012 - 2018"); var bikewayFeatureSet = FeatureSetByName($map, "Bikeways"); //accidents feature set that intersects with the polygon ($feature) var accidents = Intersects( $feature, accidentFeatureSet ); //bikeway features set that intersects with the polygon ($feature) var bikeways = Intersects( $feature, bikewayFeatureSet ); var accidentOnBikewayCount = 0; //loop through accidents feature set //create point geometry for each accident feature and add buffer //perform intersection of the accident geometry with bikeway feature set //if intersects == true, increase count for(var feature in accidents){ var geom = Point(Geometry(feature)); var buffer = BufferGeodetic(geom, 10, 'feet'); if(Intersects(bikeways,buffer) == true) accidentOnBikewayCount ++; }
... View more
02-26-2020
06:13 PM
|
0
|
3
|
3208
|
Title | Kudos | Posted |
---|---|---|
1 | 03-01-2020 01:29 PM |
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:24 AM
|