|
IDEA
|
@BruceHarold thanks, I had no idea data interop would do that. I think we carry a few of those licenses; I'll check and see. PLY is definitely not a requirement or even optimal, I have just used it in the past because it can be easily constructed as ascii format.
... View more
06-08-2021
04:59 AM
|
0
|
0
|
4084
|
|
IDEA
|
Just like the title says. I'd like to be able to export an elevation raster to any common mesh format (e.g., OBJ, STL, PLY). I know this is super easy because I've already built open-source scripts that do it, using nothing but the dependencies that already ship with ArcGIS Pro's default conda instance. I just think it would be nice to have the functionality included in 3D Analyst. The problem: Currently I manage a team that builds a high volume of precise, location-aware architectural models. We construct the models themselves using an industry standard 3D pipeline but seat the finished product on 3D terrain. We are not interested in CityEngine. Our workflow to get this terrain into external, professional 3D tools is: Terrain to TIN... TIN to Multipatch... Multipatch to Collada... Collada to (SketchUp, Maya, Blender, Meshlab, etc). This is a bad workflow. Why, one could be forgiven for asking, do we have to go from a TIN to a Multipatch? That is because it's not *really* a TIN, it's an "Esri TIN" which is recognized by no mesh software at all, it is only for ArcGIS Desktop/Pro. So we have to incur the extra step of going to *another* dead-end format (Multipatch) to get it into a broadly compatible format (Collada). So really my idea is an either/or: Either, 1. Raster to TIN will generate a compatible, standard TIN file; or, 2. A toolkit like Raster to Mesh gets introduced that allows the user to go straight from a surface raster to a *fully compatible, open* mesh format. Again, I have scripted this up already; it's kind of funny but we're using ArcGIS Pro as a framework to call processes that allow us to avoid using Esri's dead-end proprietary formats. It does work but puts us in technical debt. Please add this functionality to ArcGIS Pro, even if it's stashed behind an extension paywall. Thanks!
... View more
06-07-2021
07:14 AM
|
8
|
7
|
4120
|
|
POST
|
I can get a map's view extent by doing this: p = arcpy.mp.ArcGISProject('CURRENT')
m = p.listMaps()[0]
e = m.defaultCamera.getExtent() However this is real janky because a user can move the map and re-run the code, and it doesn't update until the project is saved. This has been the case from what I can tell, for around five years now. Maybe it's easier to explain what I need to do. In a script tool, I need to set the arcpy.env.extent parameter to "Same as display" but do it with python rather than forcing a user to manually select "same as display" in the GUI every single time. Is there a "best practice" to implement this behavior in python? I had read that this property was made available to python sometime recently, but I can't find any documentation on it.
... View more
05-03-2021
12:43 PM
|
0
|
1
|
1344
|
|
IDEA
|
I would like the ability to upload a layer package (*.lpkx) to an ArcGIS Enterprise instance, and publish it as a set of hosted services (raster and vector). There are cases where we have to move content to portals that we don't have access to, and Esri desperately needs some sort of portable format that does not require administrative access to upload quickly and easily as a service(s) and have those services look exactly as they were intended, without any manual configuration.
... View more
04-05-2021
08:56 AM
|
3
|
0
|
1005
|
|
POST
|
Seems like a simple question; couldn't find the answer anywhere. Conda should be kept up to date by doing conda update conda from the root environment. But this is what I get:
... View more
09-10-2020
03:54 AM
|
0
|
2
|
1096
|
|
POST
|
Ah, okay. So I can do something like this: p = arcpy.mp.ArcGISProject("CURRENT")
m = p.activeMap
l = m.listLayers('pointlayer')[0]
s = l.symbology
for grp in s.renderer.groups:
for itm in grp.items:
print(itm.values, itm.symbol.color)
## Result
# [['50']] {'RGB': [0, 0, 3, 100]}
# [['90']] {'RGB': [87, 15, 109, 100]}
# [['100']] {'RGB': [187, 54, 85, 100]}
# [['150']] {'RGB': [250, 141, 9, 100]}
# [['200']] {'RGB': [253, 255, 165, 100]}
It doesn't get to specific rows, but categories should be good enough for this project (better KML exporting). Thanks!
... View more
08-19-2020
02:15 PM
|
0
|
0
|
1125
|
|
POST
|
Assume I have a point layer called "pointlayer" loaded in my active map (ArcGIS Pro). I set its symbology to a single symbol/color for all points. I can discover symbology properties by layer easily using Python: p = arcpy.mp.ArcGISProject('CURRENT')
m = p.activeMap
l = m.listLayers('pointlayer')[0]
sym = l.symbology
print(sym.renderer.symbol.color)
## Result: {'RGB': [76, 230, 0, 100]} Plain sailing. However, how would I discover symbol properties per feature? The documentation examples have only to do with updating a layer's symbology. However, I'd like to use Python to report RGBA values for each feature in a layer, once a user has already styled it with ArcGIS Pro.
... View more
08-19-2020
12:41 PM
|
0
|
2
|
1174
|
|
POST
|
Ran into this problem today. Arcpy functions and classes autocomplete. Arcpy modules do not - neither PyCharm nor VS Code can "see" into them. It would be nice to see an official Esri response on this.
... View more
08-13-2020
09:33 AM
|
0
|
1
|
5405
|
|
BLOG
|
Are you guys looking at a mobile app(s) for GeoNet (push notifications, reply from notification, etc)? At this point we are very close (if not beyond) to the point where mobile is the dominant platform. A mobile GeoNet app would be pretty awesome.
... View more
08-10-2020
10:05 AM
|
3
|
0
|
7654
|
|
POST
|
Thanks Dan... Sometimes one just needs a pointer to the right doc. I tell ya, if the Esri UC was happening this year I'd hunt you down and buy you an adult beverage of your choice. Really appreciate all the help.
... View more
06-10-2020
10:43 AM
|
1
|
1
|
2593
|
|
POST
|
I am working with a geometry object projected in EPSG 6455 but would like to add its extent to a feature class that is in EPSG 4326. arcpy.Project_management() wants a feature class as input and output. Here's what I've got so far (please note that using ZLAS is in no way an endorsement of ZLAS as a proprietary format) ### ZLAS testing ###
zlas = "C:/Data/USGS_LPC_IL_4County_Cook_2017_LAS_15008550_LAS_2019.zlas"
des = arcpy.Describe(zlas)
print(des.dataType)
print(des.spatialReference.factoryCode)
print(des.extent)
polys = []
las_extent = [
[
[des.extent.YMin, des.extent.XMin],
[des.extent.YMax, des.extent.XMin],
[des.extent.YMax, des.extent.XMax],
[des.extent.YMin, des.extent.XMax]
]
]
for coord_ring in las_extent:
poly = arcpy.Polygon(arcpy.Array([arcpy.Point(*coords) for coords in coord_ring]), arcpy.SpatialReference(6455))
polys.append(poly) How would I coerce "poly" from 6455 to 4326 without incurring the IO expense of writing feature classes? The background, if useful: I am plowing through a directory structure with thousands and thousands of point clouds. The intent is to gather their extents, add them to a global feature class, and then serve that feature class up as a service identifying where all of our holdings are, allowing users to browse our holdings geographically rather than trying to hunt through a directory tree. Because many of the files are projected differently (some requiring transformation - default transformation being fine as this isn't high precision) I want to harmonize them all into a single GCS feature class.
... View more
06-10-2020
10:15 AM
|
0
|
3
|
2646
|
|
POST
|
Hi Joshua, For some reason GeoNet does not email me when someone responds, so I'm sorry for the lateness of this reply. I see what you're saying about console querying the layer not the data directly from the gpkg. From what I can see, this affects GPKG created in QGIS not ArcGIS Pro. However, most of the time I encounter a geopackage it will have been created in QGIS because why bother in ArcGIS Pro, except for edge cases where a Pro user needs to share data with a QGIS user? Because gpkg represents an outlier of content that I'm crawling, I've just put this one on the back burner, and will eventually just implement the ogr python api to pull min/max extents.
... View more
06-10-2020
10:02 AM
|
0
|
0
|
2862
|
|
POST
|
Okay, so this is very odd behavior. When I load the GPKG directly into pro, I am able to use the IPython console and successfully retrieve the extent. When I do the same calling arcpy independently of an ArcGIS Pro project, it returns nan. behold: I also tried using RecalculateFeatureClassExtent() on the table; it executed without error but still returned null for the extent when divorced from an ArcGIS Pro session. I'm leaning toward "bug" or more likely "incomplete support for spec" on this, as it seems like there is some translation work being done at load time in Pro. I could create GPKG in Pro, but it kind of defeats the purpose. The workflow I am scripting out assumes all GPKG are created in QGIS 3.x. I'd prefer to stay away from having to rely on the ogr/gdal python api since it's .... well, what I'd call "high friction" but seeing as the osgeo libraries are distributed with ArcGIS Pro, that may just be the way I have to go in the meanwhile.
... View more
06-03-2020
03:09 PM
|
0
|
4
|
2862
|
| 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 |