POST
|
So I ended up creating a script using the Mosaic dataset footprint generation. It creates extra intermediate steps but it isn't too bad--I just set a scratch workspace and delete the content later. However, I'm still interested in learning more about the data and nodata collar method.
... View more
09-09-2021
01:04 PM
|
0
|
0
|
14835
|
POST
|
Hmm, ok, can this be done without extra licensing levels or extensions? How do you get the data and nodata collars?
... View more
09-08-2021
04:09 PM
|
0
|
1
|
14869
|
POST
|
Yeah, but if you have an angled raster (e.g. diamond shape), the lower left corner will not have a coincidence of xmin and ymin, etc. You'll have a ymin, but the x value will be somewhere between the min and max extents of x. Same with y...the upper right corner will have the ymax value, but the x value isn't necessarily at its max. What I'm really wanting to do is create a polygon that shows the exact footprint of the raster, regardless of its orientation. I guess I'm saying the word extents, but it's the footprint I'm after, if I'm using terminology correctly.
... View more
09-08-2021
03:33 PM
|
0
|
3
|
14873
|
POST
|
Thanks for your suggestions so far. I will test the mosaic method, as I'm looking specifically for a way to not worry about licensing levels and extensions. So far, I've created a working Python script (derived from another script meant to composite satellite imagery), which generates extent shapefiles of a satellite imagery raster based on min and max coordinates. The biggest problem is that it assumes all rasters are oriented perfectly upright. So it did what I asked it to do, but it's not actually the real extent, as my source rasters are angled. Is there a way to get the corner coordinates of my raster's extent, not the mins and maxes? Please take a look at my script (remove the .txt from the file) and provide your thoughts. Thanks!
... View more
09-08-2021
02:35 PM
|
0
|
0
|
14882
|
POST
|
Hi, I would like to know a way, or several methods if they exist, of generating a rectangular polygon representing the footprint of a raster using ArcGIS Pro. I don't want to go through the extra time to convert a raster to polygon as is, because this is a potentially very time-consuming step (especially if the raster is an image), whereas I only want a single-valued output. If this method does not require higher licensing levels or extensions, that would be even better, but if not that's ok too. If there's a custom Python script that will do that job, or a snippet of Python I could insert into a script, please let me know. Thanks!
... View more
09-07-2021
04:55 PM
|
0
|
12
|
15737
|
POST
|
Hi AlfiyanMustaqim, I had found a solution to essentially perform a Select by Location using Largest Overlap. Please see https://community.esri.com/t5/python-questions/select-by-location-largest-overlap/m-p/1054383#M61026 I hope this helps you accomplish what you set out to do.
... View more
06-11-2021
08:46 AM
|
0
|
0
|
4438
|
POST
|
Hi Dan, Great news, Esri tech support found a solution to this problem! First, run the Intersect tool between parcels and zoning, in order to divide the zoning polygons that extend beyond a given parcel's boundaries. The Shape_Area field will automatically be recalculated for the feature class output by the Intersect tool, but you can confirm the area is correct by creating a new field and using the Calculate Geometry tool. Next, set the Summarize Within tool to summarize the Shape_Area field of the output of the Intersect using the parameters in the image below: Finally, export features from the output (right-click on output of Summarize Within tool in Contents > Data >Export Features) using the expression below (I arbitrarily selected 0.01 for the ratio of summarized zone area to parcel area to account for multipart parcels but this can be modified as desired. The original test used 0.5 in the screen shot, but a lot of parcels will get omitted with such a large cutoff.) This creates an almost perfect match between parcel and zoning. This procedure can be used in many other situations where you are looking for a match of area of largest overlap.
... View more
05-04-2021
12:26 PM
|
0
|
0
|
4179
|
POST
|
Tried joining one parcel to one polygon, and I still get the runtime error. I tried using two completely different datasets and it's still giving me the Invalid SQL message. I think there's something wrong with the script.
... View more
04-15-2021
09:16 AM
|
0
|
0
|
4250
|
POST
|
Ok, so I created an "Intersect" subset of parcels intersecting zoning and made a new feature class, which made the file size manageable (3700 features). I then used Count Overlapping Features with the table option, and selected a subset where Count_FC is 2. I joined the table to the Overlapping Features output and made a new feature class. Then I joined this using Original OID to the OID of the Intersect subset. Using joined features, this seemed to help reduce the amount of parcels selected and include funny-shaped polygons whose centres aren't in the zoning polygons. But I still have the edge polygons to get rid of from my subset. Selected parcels are in the pale green. What do I do from here to eliminate them? It still goes back to the original problem: I only wanted parcels who share the largest overlap with the zoning. P.S. - I tried a subset of 2100 items to run the Largest Overlap tool, and this did not prevent the runtime error, so this error is something else most likely.
... View more
04-14-2021
04:28 PM
|
0
|
2
|
4271
|
POST
|
Hi Dan, How could a query be done for the largest area using this method? I have tried this with my dataset and unfortunately I can't get it to work. I'm trying to select from among a parcel dataset with over 200,000 items those which most overlap with another dataset of zoning polygons (containing hundreds of items) whose shapes don't always match or coincide. I've tried running Count Overlapping Features, which takes a long time to run, and also spit out the table with the original OID's. The Count_FC of 2 is what I need. No matter what joining method I use, I cannot then perform a selection on the parcels with the join--somewhere in the process, ArcGIS Pro freezes up just trying to do the work and it doesn't happen. But even if I get it to work, this would be just picking any parcels that have any kind of intersection with the other layer, not necessarily the largest overlap. Select by Location "Have their center in" is the best closest approximation to what I'm looking for, but unfortunately when the parcel shape and the zoning shape are very different, the appropriate associated parcel will get missed. Parcels are black, and zoning is green in this example, where the parcels that are most appropriate to be selected don't have their centre in the zoning: If I just use "Intersect", parcels intersecting the borders of the zoning polygon get chosen in addition as the appropriate parcels, which are not relevant at all and are unwanted. Trying to remove the unwanted polygons from the selection one by one is very time-consuming, imperfect, and inefficient. I would love to know if there's a process to just get the parcels that are affected by the zoning polygons, no less, and no more, using geoprocessing. I've also tried using the Spatial Join - Largest Overlap tool, but I'm getting a runtime error and the script won't complete: https://community.esri.com/t5/arcgis-pro-questions/spatial-join-largest-overlap-arcgis-pro/m-p/1047081#M39726 What can I do?
... View more
04-14-2021
02:05 PM
|
0
|
0
|
4275
|
POST
|
Hi Drew, I have another problem with this tool. I just tried running it using both Keep All Features checked and unchecked: Traceback (most recent call last): File "E:\Library\GIS DATA\SCRIPTS\SpatialJoinLargestOverlap\Scripts\SpatialJoinLargestOverlap.py", line 85, in <module> SpatialJoinLargestOverlap(target_features, join_features, out_fc, keep_all, spatial_rel) File "E:\Library\GIS DATA\SCRIPTS\SpatialJoinLargestOverlap\Scripts\SpatialJoinLargestOverlap.py", line 41, in SpatialJoinLargestOverlap for row in scur: RuntimeError: An invalid SQL statement was used. Failed to execute (SpatialJoinLargestOverlap). What could be causing this problem? I thought it could be the dataset (I was using one that had over 200,000 records, but I created a subset of that that's only 2100 items, and it still fails to run).
... View more
04-14-2021
09:39 AM
|
0
|
2
|
4656
|
POST
|
Ok, so the Split Polys tool in your toolkit would be sufficient to accomplish this task then?
... View more
04-14-2021
08:36 AM
|
0
|
0
|
1174
|
POST
|
Ok, so from here, how do you apply the code to an existing polygon feature class to actually split a polygon (or just create a line feature class that represents where the cutter stops)? Also, where would you define the orientation of the cutter polyline (N-S, maybe E-W)? I will need some help with that.
... View more
04-13-2021
04:31 PM
|
0
|
0
|
1186
|
POST
|
Does anyone know if there is a Select by Location type tool that chooses polygons of Largest Overlap? I know there's a script tool that performs this as a Spatial Join at https://hub.arcgis.com/datasets/e9cccd343bf84916bda1910c31e5eab2 but I want use the same processes as a selection, not a spatial join. Does this exist, or would someone be able to use the code and modify it to perform a selection of largest overlap?
... View more
04-13-2021
03:51 PM
|
0
|
8
|
4377
|
POST
|
Hi Dan, Ok, here's an example of a shape (the selected one). Say you wanted to use the current shape but reduce the amount of area in a straight E-W slice moving southward from the top, being faithful to the outside borders. Alternatively, say you wanted to add area to the polygon by filling in the empty space between the selected polygon and the red polygon. Are there good ways to do this? What do you mean, to extend the back line? How would you do this to reach the desired area?
... View more
04-13-2021
01:50 PM
|
0
|
0
|
1196
|
Title | Kudos | Posted |
---|---|---|
1 | 07-28-2020 11:26 AM | |
1 | 03-31-2021 11:36 AM | |
2 | 01-18-2021 08:30 AM | |
1 | 03-22-2021 04:35 PM | |
1 | 03-19-2021 04:19 PM |
Online Status |
Offline
|
Date Last Visited |
01-26-2022
10:17 AM
|