|
IDEA
|
I'm not buying that. That's what localization is about. Just pick the currency conversion API and each user will see costs in their own local currency. This is executed without confusion every day across the internet.
... View more
06-17-2019
10:51 AM
|
3
|
1
|
1680
|
|
POST
|
I'm attempting to load a rather large KMZ with images (pop-ups, not overlays) embedded. Importing the geometric types works fine. It also pulls across all the HTML snippet code without problem. However it fails to load the image in the popup, rendering just a box with an X in it. When I load the same KMZ in Google Earth it works fine. When I load it in ArcGIS Earth it also works just fine. In the attribute table, the img src tags are correct; there are no broken links or missing files. Am I missing something? I am on ArcGIS Pro 2.3.
... View more
06-17-2019
10:36 AM
|
0
|
0
|
687
|
|
IDEA
|
I rely heavily on tessellation to aggregate and summarize extremely dense point content. Currently the only limiting environmental variable the GenerateTessellation_management() method uses is Extent. This is inefficient as I demonstrate in the simplified graphic above. In this case, I would spend loads of time building cells over an extent, the majority of which has no data, and that will be discarded later anyway. I would like for the Generate Tessellation tool to support not only Extent, but Mask (vector polygon) to build cells.
... View more
05-07-2019
09:53 AM
|
8
|
3
|
1628
|
|
POST
|
Hi Luke, Today after a reboot I'm not experiencing the schema lock. I wonder if there was a zombie ArcMap process locking the fgdb, since I had earlier examined the output using ArcMap (though I did disconnect/remove the database from the map viewer). In answer to your other question: row[0] represents the envelope. It will only ever have one row so while it looks like it's iterating, it's really not. It feels kind of duct tapey and there is probably a smoother way to do it, but when it works it gives me the result I want with very little overhead. What I'm actually doing is checking the size of that envelope in m2, and if it is over a certain size, create a tessellation grid covering the extent. Then I will split each feature into its own feature class and iterate the analysis over those chunks. I feel like this is easier than multiprocessing but maybe not. The whole thing driving this is that the tools I am using: * Generate Tessellation (building 50m radius hex cells to aggregate very dense points) * Summarize Within (doing the sum for each cell) are IO bound, serial, single-processor tools and are not robust in terms of environments (e.g., Generate Tessellation could be more efficient by being done by mask, but it is only available to issue it an extent, which is very inefficient). So even though I have 36 cores available, these tools will take a ridiculously long time to process. I have found that splitting a huge extent into smaller chunks buys me some marginal performance gains (also if it fails I don't lose everything).
... View more
05-07-2019
07:33 AM
|
1
|
0
|
1552
|
|
POST
|
Hi Joshua, That's just part of the standard error message. I am only running this in an IDE (PyCharm in this case). So no, ArcGIS Pro/ArcMap are not active or accessing any of this data.
... View more
05-06-2019
03:17 PM
|
0
|
2
|
1552
|
|
POST
|
Can someone tell me in my code where I'm not properly dismissing schema locks? Currently when I attempt to run the tessellation, I get ERROR 000464: Cannot get exclusive schema lock. Either being edited or in use by another application. In this case I am not running the application, only the IDE. What am I missing? Background: I am taking huge point data files that come to me unprojected, automating a UTM zone projection to put it into metric units, and then making a determination of whether the extent is so big (it fluctuates) that it warrants splitting into smaller chunks, which I will do through tessellation. I am not using minimum bounding geometry because Esri has helpfully limited the Envelope functionality to advanced licenses, and all of my users are on standard licenses import arcpy
def get_vector_center(vector):
sample_mean = "sample_mean"
sample_center = arcpy.MeanCenter_stats(vector, "in_memory/{}".format(sample_mean))
return sample_center
tempgdb = "C:/Temp/scratchdb.gdb"
input_sample = "C:/Temp/dots.shp"
arcpy.env.workspace = tempgdb
arcpy.env.overwriteOutput = True
# prep data
utm_fc = "C:/Temp/foundation.gdb/utm_zones_with_epsg"
center = get_vector_center(input_sample)
# do a join
utm_zone = arcpy.SpatialJoin_analysis(utm_fc, center, "in_memory/zone", "#", "KEEP_COMMON", "#", "CONTAINS")
# get the zone
with arcpy.da.SearchCursor("in_memory/zone", ['EPSG']) as vcursor:
for row in vcursor:
epsg = (int(row[0]))
print("Got EPSG code {}".format(epsg))
# construct the sr object
sr = arcpy.SpatialReference(epsg)
sr.factoryCode = epsg
sr.create()
# project the original content with the right utm zone
output_layer = "output_utm"
fixed_data = arcpy.Project_management(input_sample, output_layer, sr)
# now manually create envelope in correct projection since no advanced license
e = arcpy.Describe(output_layer)
xmin = e.Extent.XMin
ymin = e.Extent.YMin
xmax = e.Extent.XMax
ymax = e.Extent.YMax
coordinates = [(xmin, ymin), (xmin, ymax), (xmax, ymax), (xmax, ymin)]
polygon = arcpy.CreateFeatureclass_management(tempgdb, "poly_from_extent", "POLYGON", spatial_reference=sr)
feature_class = polygon[0]
# write the geometry from extent to create envelope
with arcpy.da.InsertCursor(feature_class, ['SHAPE@']) as cursor:
cursor.insertRow([coordinates])
o = arcpy.Describe(feature_class)
# now check for >100km2 area to see if we should tesselate for faster processing
t_out = "parent_tgrid"
oe = o.Extent
with arcpy.da.SearchCursor(feature_class, 'SHAPE@AREA') as acursor:
for row in acursor:
if row[0] > 100000000:
print("{} greater than 10K km2, splitting...".format(row[0])
tgrid = arcpy.GenerateTessellation_management(t_out, oe, "SQUARE", 100000000, sr)
print("Splitting complete")
else:
print("point extent smaller than 10K km2, not splitting.")
... View more
05-06-2019
02:53 PM
|
0
|
4
|
1788
|
|
POST
|
Hey Kory, that did the trick. Because of the distribution I had to push it up to 163000 but it did work. Thanks!
... View more
04-22-2019
11:31 AM
|
0
|
1
|
1249
|
|
POST
|
I have a hex grid (polygons) containing a Point_Count field (an output of Summarize Within). The FC contains around 163,000 rows. The Point_Count field contains values between 1 and 1200. However, whenever I try to do a graduated symbology, the Maximum is set to 661. When I look at statistics on the Symbology panel, it incorrectly lists the Maximum as 661. Thus, even if I manually set the histogram to 1200 max, it "snaps" back to 661 regardless. Consequently it will not symbolize around 200 polygons that represent values over 661. I tested this error by doing the following: - Creating a new feature class containing the same content and loading it from scratch (the previous layer was loaded and symbolized via script). No difference. - Took the same data (both original and copied) and loaded it into QGIS 3.4. It picked up the correct min/max values without issue on both datasets. My guess is that Pro is trying to be "helpful" somewhere but durned if I know how or why. Crossposted from https://gis.stackexchange.com/questions/319517/why-is-arcgis-pro-not-symbolizing-my-entire-range-of-values Note: no specific data is required to recreate this - anyone can take a random cluster of dots across a grid of this size, run summarize within, and obtain a similar output. My cells are 50m radius (circle inside).
... View more
04-22-2019
10:52 AM
|
0
|
3
|
1378
|
|
POST
|
Ryan, sorry for the lag on this - The keys are HKCU\SOFTWARE\ESRI \ArcGIS Online\Portals \ArcGIS Online For Pro\SignIn I removed any links to any client cert authenticated portals. I also removed www.arcgis.com references; though if you depend on arcgis.com, you will obviously not want to do that.
... View more
04-22-2019
10:38 AM
|
2
|
0
|
3815
|
|
POST
|
Thanks Duncan, At least on our configuration, I have found the 'memory' space to be fundamentally unstable once you get outside of the most simple use cases (for example memory-to-memory dataset comparison). One of the tools I'm using, Summarize Within, throws an error when one tries to output it to memory. I am running a 36 core, 128gb RAM Dell Precision 5820 - plenty of resoures. But putting things in memory, for whatever reason, causes Pro 2.3 to ungracefully crash to desktop constantly. So I basically have to do a bunch of duct-tapey stuff writing out intermediate datasets, and then crawling the project geodatabase to delete them afterwards. super lame
... View more
04-16-2019
08:41 AM
|
1
|
1
|
2431
|
|
POST
|
Thanks for the reply, Dan, I'll take a look. I am summarizing points within the grid, so would definitely want to minimize the grid to the point clusters before counting. It introduces a bit of a conundrum. I don't want to spend time having to count 0's in every cell, and then dropping them, but I don't know which cells to drop without doing the summarize-within first. I feel like I'm going to end up creating a Generate Grid by Mask script before this thing is done...
... View more
04-15-2019
01:17 PM
|
0
|
0
|
2431
|
|
POST
|
I'm using the Generate Tesselation tool to create a hex grid over a large amount of point data. The problem is that the data does not fill the majority of the extent, so Generate Tesselation ends up creating a whole bunch of pointless grid cells over area that I don't care about. And because Generate Tesselation is a single-threaded, single-core affinity, IO bound process, it's already slow to begin with. Here is a simple illustration of the problem: Is there a way for me to be able to create hex cells only in the hull around the cluster? In other words is there a way to create cells by mask and not by Extent? Python solutions are fine.
... View more
04-15-2019
11:25 AM
|
0
|
5
|
2837
|
|
POST
|
On the Parallel Processing Factor environment documentation, it reads: Tools that honor the Parallel Processing Factor environment will divide and perform operations across multiple processes. It is unclear which tools these are. Is there a list of such tools? I ran a hex grid script over a large area using Generate Tesselation and while it didn't give me any feedback on using a parallel processing factor, only one of my cores out of 36 was used to complete the job.
... View more
03-22-2019
01:29 PM
|
0
|
2
|
2258
|
|
IDEA
|
I would like to set ArcGIS Pro to draw a point cloud of more than 10M points at a time. I have a merged point cloud of around 300M points and my workstation has no problem rendering it all in QT Modeler. In Pro, it locks me to 10M points. It also does some weird tiling sort of thing (as part of the scene layer package, I guess) that causes regions of the point cloud to render inconsistently depending on my viewing angle and altitude. I would like to load the entire thing in and have it all render at every scale. Granted, this is a high end workstation, but in principle it should be up to the user to set their own quality/performance tradeoff.
... View more
03-19-2019
09:30 AM
|
7
|
2
|
1149
|
|
IDEA
|
For some reason, map creators cannot modify popups for GeoRSS feeds: http://enterprise.arcgis.com/en/portal/latest/use/georss.htm This should be changed. You can configure popups for WFS. Why is this? Text is text.
... View more
03-06-2019
01:56 PM
|
5
|
0
|
543
|
| Title | Kudos | Posted |
|---|---|---|
| 4 | 02-03-2025 01:29 PM | |
| 1 | 01-31-2019 11:15 AM | |
| 1 | 03-29-2022 12:18 PM | |
| 1 | 05-21-2024 12:32 PM | |
| 1 | 05-21-2024 01:03 PM |