New answers tagged

0

First, precincts should never straddle county lines. Voting precinct boundaries often run through parks or the middle of streets where no one lives; you would not want to divide an apartment building into 2 precincts or, worse, two council districts. Districts are often created by grouping precincts. Watersheds can and do cross counties. Counties can cross ...


1

Assuming I understand your question, this worked for me with some mock data. Basically, I merged all the input data together and did a single Spatial Join, retaining only the specified fields. I stored the names of my polygon feature classes and the associated "key" field that should be joined to the points as a Python dictionary. Not sure what the ...


1

You can achieve this using overlay operations. Here's a quick example using some fake data. import geopandas as gpd from shapely.geometry import Polygon # Creating the GeoDataFrame with the grid geometries grid_gdf = gpd.GeoDataFrame(data={'grid_id':[101,102,103,104], 'grid_cat':['W','X','Y','Z'], ...


0

Feature Vertices To Points (extract start vertices) Select By Location with vertices layer and your point layer Export selection Spatial join to the line layer repeat for end vertices


4

Use this expression on the point layer: overlay_within('wetland', id, filter:=category='wetland')[0] wetland is the name of the polygon layer id is the name of the wetland id category is the name of the field in the wetland layer containing the string wetland See the documentation about the overlay_within() function. Here, points are labeled with the ...


2

One way would be use the "Attributes Form" in the layer properties, and the Aggregate function. Right-click the point layer that you want the automatic attributation assisgned to Head to the "Attributes Form" menu, and select the Field that you want to assigned the label to. You will see a "Defaults" option at the bottom of ...


2

BallTree is very fast, you can change the distance metric in BallTree to metric='euclidean' and check again. tree = BallTree(candidates, leaf_size=15, metric='euclidean') Also since your coordinates are in EPSG:4326 (WGS84) its always better to convert to a projected coordinate system which gives distances in meters directly. You can convert your ...


3

It seems you are using point layers, are your geometries exactly coincident for the points you expect to join? For point geometries with several decimal figures, especially after reprojecting, it may be that they do not intersect. You could try Join by nearest and then filter out any joins that are above an acceptable distance threshold.


1

For some reason when I projected the polygon to EPSG:4326 using ArcGIS (didn't try to do this step using python) then converted the CSV to GeoDataFrame on python with the same CRS (4326) using the same code I used in above in my question, it worked! I have no explaination for such a behavior as I'm new to GIS and CRS in particular:).


2

Visualising the point count in a Polygon dynamically in ArcGIS Online is not possible. According to the ArcGIS Arcade: Visualisation page, the Arcade expressions only allow access to the $feature and $view.scale attributes - in other words you cannot access the " Geometry Intersection" between the polygon and points using this methodology. ArcGIS ...


6

You can run "Overlap Analysis" from processing toolbox. Choose Flurstueck as input and Gebaeude as overlay. The result is a duplicated Flurstueck layer with the percentage covered by buildings for each parcel as well as the area covered by them in crs units as additional attributes. You can divide the percent result by 100 to get values between 0 ...


0

After a few days of confusion, we figured it out it was probably being caused by a caching issue between Jupyter Lab and Jupyter Notebook. Once the notebook had been run in Jupyter Lab and returned 59 points, creating a new environment or running in Jupyter Notebook would not change the output. However, if I created a new environment without defaults, only ...


0

Probably joining and creating the sum at once is too much for such large layers. Split up the process: 1) join 2) sum. An alternative would be using this expression - however, I fear that you will hit the same limits: array_sum(overlay_intersects ('building', value)) So first select the grid cells that have an intersection from the other layer (I call it ...


Top 50 recent answers are included