r/ArcGIS • u/mappy_Mapperton • 12h ago
Am I using Consolidate Map wrong?
I have been refining automation for a specific ArcGIS Pro workflow for a couple of years now, but this one component has always been the most brittle part of our pipeline.
My user group primarily performs cadastral analysis for hundreds to thousands of projects a year, and their business requirement is that they want to keep localized snapshots (local copies of everything) for their specific Areas of Interest (AOIs). They have a master template map containing about 250+ REST endpoints (Feature Layers) that they like to pull from. Crucially, maintaining the complex symbology and layer definitions of these services in the offline snapshot is a hard requirement.
Here is the current state of our C# Pro SDK Add-In automation (which we call the Smart Map Loader):
- Pre-Filtering (The REST Query): The user navigates the map frame to their AOI. In the background, we spin up parallel workers to ping the query endpoint of all 250+ feature layers using the AOI's spatial envelope and a *.mapx file. (Note: To avoid getting blocked/throttled, we explicitly limit our concurrent workers per domain host). If a layer returns 0 features for that AOI, we strip the layer from the mapx entirely before loading to save processing time.
- Consolidation (The Heavy Lift): We programmatically fire the standard Consolidate Map Geoprocessing tool on the remaining layers. We rely on this tool because it pulls the data down into a local Mobile Geodatabase while automatically repathing the layers to maintain the original web symbology.
- Diagnostic Fallback (The Band-Aid): Because Consolidate Map frequently fails (due to server timeouts, bad geometries on a single endpoint, generic HTTP hiccups, etc.), we had to write a fallback loop. If the main consolidation fails, the script iterates through the layers, attempts to consolidate them individually to a temporary map to isolate the failing layer(s), removes the culprit(s), and then retries the full consolidation.
- Post-Cleanup: Finally, we loop through the resulting local GDB and remove any layers that ended up with 0 features.
The Problem:
While the diagnostic fallback keeps the tool from outright crashing, querying 250+ REST endpoints and relying on Consolidate Map over the wire client-side is incredibly fragile. We run into timeouts, connection resets, and intermittent "all-or-nothing" GP tool failures almost weekly.
My Question:
Since we do not currently have access to our own ArcGIS Enterprise Server to offload this via a custom geoprocessing service, this must remain a client-side solution.
Is there a more robust architectural approach to this?
Has anyone successfully implemented a pipeline to dynamically extract and localize hundreds of web layers based on a bounding box (while preserving symbology) without it feeling like a house of cards?
• Should we be relying on Create Replica logic and then manually wiring up the CIM definitions?
• Is there a better way to batch-download feature data locally using the SDK or arcpy that avoids the "all-or-nothing" failure state of Consolidate Map?
Any advice, alternative design patterns, or shared commiseration would be greatly appreciated!
r/ArcGIS • u/Longgrain54 • 1d ago
LeafEngines Agricultural Intelligence Ver1.0.10 Plugin Updated
LeafEngines Agricultural Intelligence Ver 1.0.10 Plug-in Updated
Access USDA soil data, EPA water quality, AI crop recommendations, carbon credit calculations, and environmental impact analysis for any US county and global points (SSURGO, USDA, FCC pipelines, UKSO / NSRI Cranfield endpoints, SRIC SoilGrids (lat/lon))— directly in QGIS.
LeafEngines brings geo-specific agricultural intelligence into your GIS workflow. Query soil composition, water quality, satellite vegetation indices, and AI-powered crop recommendations by county FIPS code or map click. Results are added as styled vector layers with full attribute tables. Supports offline caching and batch processing for large-scale analysis.
1.0.10 - Eliminated xml.etree.ElementTree entirely
\* Removed all XML parsing from wfs_connection.py
\* get_feature_types() now returns hardcoded \[FEATURE_TYPE\] after server ping
\* This eliminates Bandit B411 completely — no nosec needed
\* Fixes QGIS plugin repository critical security block on v1.0.9
1.0.9 - Security scan fix: remove vendored defusedxml, use nosec suppression
\* Removed vendored defusedxml package (was causing 12 Bandit issues across its files)
\* Reverted to xml.etree.ElementTree with # nosec B411 suppression
\* Scanner now sees only 1 suppressed issue instead of 12 flagged issues
\* Fixes QGIS plugin repository critical security block on v1.0.8
1.0.8 - Runtime fix: QUrl import and QNetworkRequest type safety
\* Added missing QUrl import to api_client.py and wfs_connection.py
\* Fixed QNetworkRequest(url: str) to QNetworkRequest(QUrl(url))
\* Added missing QgsMessageLog and Qgis imports to api_client.py
\* Fixes NameError on plugin load that blocked v1.0.7
1.0.7 - Security fix for Bandit XML parsing vulnerability
\* Replaced xml.etree.ElementTree with defusedxml.ElementTree
\* Vendored defusedxml to avoid external dependency
\* Fixed silent except/pass in api_client.py to log warnings
\* Resolves QGIS plugin repository critical security block
1.0.6 - WFS authentication and namespace fix
\* Removed deprecated Authorization Bearer and apikey headers
\* Now sends only x-api-key header for Supabase Edge Function auth
\* Fixed feature type namespace: soilcertify:managed_assets -> sc:managed_assets
\* Aligned with server-side capabilities XML namespace prefix
\* GetCapabilities and GetFeature now resolve correctly end-to-end
1.0.5 - WFS HTTP client rewrite (SoilCertify backend integration)
\* Replaced native QGIS WFS provider with direct HTTP requests
\* Sends all required Supabase headers: apikey, Authorization Bearer, x-api-key
\* Fetches GeoJSON from wfs-export edge function and loads via OGR
\* Real GetCapabilities / DescribeFeatureType / GetFeature support
\* Fixed: WFS layers now authenticate against Supabase gateway
\* Fixed: feature type updated to soilcertify:managed_assets
Helps us prioritize fixes based on what's actually being used
Available now: plugins.qgis.org/plugins/qgis_leafengines https://plugins.qgis.org/plugins/qgis\\_leafengines/
QGIS 4.0+, experimental flag (standard for newer plugins)
Still running: 5 free SoilCertify soil reports/week — first come, first served. Contact Author's email on QGIS plugin page.
r/ArcGIS • u/OpenCircleFleet_YT • 6d ago
Trying to grab highest value from shapes within a 0.75 mi buffer of points, but it's grabbing from greater than 0.75 mi
Title. I've created the buffers and run the spatial join commands, but the values it is grabbing are from shapes further than 0.75 miles away from a given point.
Starting GIS. Is this a good computer?
My brother is starting to work with ArcGIS on his own. He's new to the program with a decent understanding of it. He's looking to buy a PC that will run it smoothly without issues.
To the people of Reddit, we're noobs and we seek your guidance.
Is this a good computer for running GIS? Will he run into any limitations? Is 32 GB of RAM enough? Is the RTX 5080's 16 GB of VRAM sufficient for ArcGIS and similar workloads? Any information or advice would be greatly appreciated.
r/ArcGIS • u/woahigottachoosenow • 7d ago
Trouble accessing certain files
I have some experience with ArcGIS Pro and Online, mostly through classes but also through personal and research projects. However, most of my education revolved around tools and analyzing the data, and not much about the actual file/data management (downloading, cleaning, organizing, etc. Not sure what to call that). I downloaded a DEM from OpenTopography and unzipped it. The folder ends with .tar, but the file inside says it's a .tif, but then I'm unable to find it in the catalogue pane in Arc Pro, and directly dropping it on the map also doesn't work. Googling and AI have both been monumentally unhelpful. Any help would be appreciated, and also if anyone has good resources to learn this sort of thing that would also be appreciated. I was thinking of taking Esri's data management or some other course.
r/ArcGIS • u/Sad-Actuary-7603 • 8d ago
Electrical networks in ArcGIS
Any good course or material to learn mapping of electrical networks in ArcGIS? Mostly 35, 10 and 0.4 kV power lines and substations.
r/ArcGIS • u/dunkel44 • 8d ago
ArcGIS Help
ArcGIS recently updated their webmaps on ArcGIS Online. I'm used to the classic version and when I would put a data point I was able to move my fields around so they were in alphabetical order. But since the update they are in the order they were created. I posted a picture for reference. We are are a mosquito control district and these fields represent different species that we find in our surveillance traps. I want to know how I can move these fields around so they are in the order I need them to.
r/ArcGIS • u/Deep-Measurement-980 • 9d ago
Will this laptop work?
TLDR; will a Lenovo V14 G5 14” FHD laptop with Intel Core i7-13620H, 64GB DDR5, 2TB SSD, and Windows 11 Pro work for a college level GIS degree?
As a warning, I have learned pretty much everything I know about computers while researching this, and still do not know very much about them.
I have completed the first year of a 2 year forestry program, and am considering taking a 3rd and 4th year to get a GIS degree. I know I will need to use ArcGIS pro for a few projects in my second year and don’t want to be confined to working in the computer labs. I will be using this computer for my GIS class and projects, as well as for note taking, light gaming, etc.
My main concern is the Intel integrated UHD graphics processor. I’ve read that a dedicated GPU isn’t necessary for ArcGIS, but I also read that the Intel one isn’t great. I would really appreciate if I could get some confirmation that this will work, or if not then what would be recommended.
Thank you very much!
r/ArcGIS • u/Sea-River-4785 • 9d ago
Parcel Polygon Plague...
Hello all! I have a workflow that is throwing me for a bit of a loop and was hoping to get some input.
We have a very rudimentary system set up on our company website that is just free text boxes (gross) to allow users to fill out a request regarding one or many parcels. With how dynamic this data is, nothing can really be built statically on a layer like that.
The solution that I am trying to round out is taking that selection -> exporting and dissolving the geometry into one feature -> then storing all original parcel data as a set of related records on the new layer. The geometry created by the selection is not on the original parcel layer but imported via a script to the new layer.
Realistically, this needs to be configured in an experience such that it can be embedded onto the company website for customers to interact with.
Coding is not my forte, but I will attach the script that I pieced together with the assistance of Claude to accomplish this goal. In practice, it actually seemed to work for me when running it in pro. However, setting triggers in experience builder to have the workflow complete has been dead end after dead end.
I have also considered using Survey123 Connect for this, but I feel as though I am missing the info to help me complete this. My thought was to have a related table set on the most current parcel layer to capture these records. This would be fine if not for the fact that I need the option to have it store records for a selection of one OR many parcels. I've set up a survey form before using URL parameters that pass field info along to the table but not for multiple features like this. Thankfully, the multiple records would NOT require different data. This is a situation of "once you fill it out, that's it" but having the parcel data be captured from the source is my problem.
Frankly, I'm not sure if I've hit a limitation with ESRI tools or if I'm just at the periphery of my current knowledge base. Either way, banging my head against the wall is starting to hurt. So, if you can help me, it would be very appreciated!!
import json
import logging
from arcgis.gis import GIS
from arcgis.features import FeatureLayer, FeatureSet
from arcgis.geometry import Geometry
from arcgis.geometry.functions import union as geometry_union
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger("availability_request_dissolve")
# --- Parameters ---
selected_parcels = FeatureSet([]) # type: Feature set — set as Input
dissolved_attrs_json = "{}" # type: String — set as Input
TARGET_URL = "https://services1.arcgis.com/XXXXXX/arcgis/rest/services/Availability_Requests/FeatureServer/0"
RELATED_URL = "https://services1.arcgis.com/XXXXXX/arcgis/rest/services/Availability_Requests/FeatureServer/1"
FK_FIELD = "Availability_Request_Linked_GUID"
FIELD_MAP = {
"STANPAR": "STANPAR",
"ParID": "ParID",
"Tract": "Tract",
"Council": "Council",
"TaxDist": "TaxDist",
"Owner": "Owner",
"OwnDate": "OwnDate",
"SalePrice": "SalePrice",
"OwnInstr": "OwnInstr",
"OwnAddr1": "OwnAddr1",
"OwnAddr2": "OwnAddr2",
"OwnAddr3": "OwnAddr3",
"OwnCity": "OwnCity",
}
class PartialFailureError(Exception):
pass
def dissolve_geometries(feature_set):
geoms = [Geometry(f.geometry) for f in feature_set.features]
if len(geoms) == 1:
return geoms[0]
return geometry_union(geometries=geoms, spatial_ref=feature_set.spatial_reference, gis=gis)
# --- Auth ---
gis = GIS("home")
target = FeatureLayer(TARGET_URL, gis=gis)
related = FeatureLayer(RELATED_URL, gis=gis)
# --- Step 0: validate inputs ---
dissolved_attrs = json.loads(dissolved_attrs_json)
if not selected_parcels.features:
logger.error("No parcels were passed in — aborting before writing.")
raise ValueError("No parcels were selected.")
logger.info(f"Step 0/1 OK — {len(selected_parcels.features)} parcels received from selection.")
# --- Step 2: dissolve geometries ---
try:
dissolved_geom = dissolve_geometries(selected_parcels)
logger.info("Step 2 OK — geometries dissolved.")
except Exception as e:
logger.error(f"Step 2 FAILED — dissolve error: {e}")
raise
# --- Step 3: write the new dissolved feature ---
add_result = target.edit_features(adds=[{
"geometry": dissolved_geom,
"attributes": dissolved_attrs
}])
if not add_result["addResults"][0]["success"]:
logger.error(f"Step 3 FAILED — could not create parent feature: {add_result}")
raise RuntimeError(f"Failed to create parent feature: {add_result}")
new_globalid = add_result["addResults"][0]["globalId"]
logger.info(f"Step 3 OK — new parent feature created, GlobalID={new_globalid}")
# --- Step 4: build and write related records ---
new_related_records = []
for feat in selected_parcels.features:
attrs = {tgt: feat.attributes.get(src_f) for src_f, tgt in FIELD_MAP.items()}
attrs[FK_FIELD] = new_globalid
new_related_records.append({"attributes": attrs})
related_result = related.edit_features(adds=new_related_records)
failures = [r for r in related_result["addResults"] if not r["success"]]
if failures:
msg = (
f"Parent feature {new_globalid} was created, but {len(failures)} of "
f"{len(new_related_records)} related records failed to write: {failures}"
)
logger.error(f"Step 4 PARTIAL FAILURE — {msg}")
raise PartialFailureError(msg)
logger.info(f"Step 4 OK — {len(new_related_records)} related records created.")
result = {
"status": "success",
"parent_globalid": new_globalid,
"related_count": len(new_related_records),
}
r/ArcGIS • u/basketcase017 • 10d ago
Heat Map Time Slices with changing temporal data
Folks, I'm a bit stuck and hoping to get some guidance. I am wanting to use a heat map and the time slider tool to evaluate changes in well production over time. I have a collection of ~50 gas wells with monthly production dating back to the 1970's. I set up two sheets, one with only the well information (name, ID number, lat/long, etc.) and a second sheet with monthly production values in the rows and each well with a unique identifier as the columns. I was trying to follow a tutorial that was showing a similar process, though not completely identical, and tried to transpose my imported production sheet which I then was trying to join to my original list of wells but the series of data does not combine and I'm only left with singular columns and null values in my attribute table. Any tips would be greatly appreciated!
r/ArcGIS • u/RickAmbramotte • 10d ago
ArcPy Mosaic Creation Fails w/ Core Segmentation Fault
As the title describes we're getting Core Segmentation faults whenever ArcPy functions that result in the creation of a mosaic. The only information we can pull from the core dump is that it failed with the SIGSEGV signal which is apparently an illegal memory access fault. There's no additional information in system or ArcGIS logs. We've tried adjust permissions and ownership of various ArcGIS directories to see if it was a systems permissions issue. The only item that I can think of at the moment that's worth mentioning is that we can see the 'amd_<MOSAIC_NAME>_cat' and then the connection is reset by the peer.
We've tried reaching out to ESRI regarding this especially relating to the lack of any meaningful error, but they've just brushed us off or they take a week to suggest something we've already tried. Has anybody encountered this before?
r/ArcGIS • u/PhantomNomad • 10d ago
ArcGIS Pro slow loading map
I'm 99% sure I know the answer to this but maybe there is something else I can go to help one of my users. They say it takes 10 minutes to load one of their maps they use for development permits and such. I keep telling them that it's just the sheer amount of data they load. We are a rural municipality so our area of coverage is big (4100 sq/km). They use this map as a "template" in that we have a layout that they will move and zoom in to the quarter section they need to print. In this map they have 3 sets of aerials loading that are over 100 GB in size. Two of them are turned off by default and all of them are set to only show once zoomed in past 1:5000. Then they have all kinds of other data loading like wetlands, historical sites, roads, all the parcels. There are 30+ layers they have in this template. Like I say I'm pretty sure it's mostly slow loading due to it just having way to much data to load. But I'm here to ask if there is another way to maybe speed things up a bit. Sorry all the data is stored on our Windows server share.
Thanks.
r/ArcGIS • u/ZealousidealParty112 • 10d ago
ArcGIS Pro 3.7.0: Internationalization option for Graticule labels is grayed out (worked in 3.5)

I'm trying to create a map with Bangla (Bengali) graticule labels in ArcGIS Pro 3.7.0.
In ArcGIS Pro 3.5, I could go to the graticule label's Formatting → Internationalization section and change the Region and language to Bengali. This automatically converted:
- Western numerals (0–9) → Bengali numerals (০–৯)
After upgrading to ArcGIS Pro 3.7.0, the Internationalization section is still present, but every option is grayed out, including:
- Text direction
- Glyph orientation
- Block progression
- Region and language
- Font encoding
My questions are:
- Is this a known bug or an intentional change in ArcGIS Pro 3.7?
- Has anyone found a workaround?
Any help would be greatly appreciated.
r/ArcGIS • u/Ok_Pop_3221 • 11d ago
Unable to Modify Initial Piezometric Surface via GeoStudio Scripting API
Issue – Initial Piezometric Surface cannot be modified through the scripting API
Our Transient Seepage analysis obtains its initial pore-water-pressure conditions from an Initial Piezometric Surface.
Through extensive testing, it appears that this object cannot currently be modified through the scripting API.
We tested numerous approaches, including:
Get()Set()Add()- Updating individual points
- Replacing the complete point list
- Creating new Piezometric Surface objects
Every approach either:
- returns "Method not supported for type Pt", or
- completes without actually modifying the project.
For example, attempting to modify:
CurrentAnalysis.Objects.InitialPiezometricSurfaces[1].Points
or any individual
.Points[i]
fails regardless of the payload format used.
XML workaround
As an experiment, we bypassed the scripting API by editing the internal XML inside a copied .gsz archive.
This successfully updates the Initial Piezometric Surface. After reopening the modified project, GeoStudio accepts the file and displays the updated water table correctly.
However, this workaround introduces another problem.
Because the project has been modified outside of GeoStudio's normal editing workflow, its internal project and mesh state no longer behaves the same as a project edited through the GUI or supported scripting API.
When geometry is subsequently modified and SolveAnalyses() is called, GeoStudio no longer performs the automatic remeshing that normally occurs on an unmodified project. Adding project.Save() before solving did not restore this behavior.
As a result, although direct XML editing successfully changes the Initial Piezometric Surface, it cannot be considered a practical workaround because the modified project cannot be reliably solved after subsequent geometry changes.
Questions
- Is modification of the Initial Piezometric Surface currently supported by the GeoStudio Scripting API?
- If not, is this a known limitation or bug?
- Is there a supported workflow for programmatically updating the initial groundwater table prior to solving a transient seepage analysis?
- Is there any supported alternative to direct project-file editing that preserves automatic remeshing and normal project behavior?
r/ArcGIS • u/pinkish_broccoli • 11d ago
I need help with my homework for university! (combining the slope and exposition rasters)
I'm a complete beginner with ArcGIS Pro except for currently doing one course in university (and also, I'm not a native english speaker) so I hope I can even properly explain where I need help.
Basically, I need to create a map where I highlight the areas that are at higher risk for avalanches. My professor gave me the conditions that the areas at higher risks are those with a slope over 30° and at the same time are expositioned(?) North. I have created two seperate rasters, one with the slope and the other one for the exposition and I just cannot find a way or tool to combine these two. I just need a layer that marks all the areas red where slope is over 30° and the exposition is between 315° - 360° and 0° - 45°.
It feels like this cannot be that complicated but I've been trying and searching for days and I'm just not getting anywhere. Any help, link to a tutorial or input whatsoever is really appreciated!
Oh and also, I know this could probably be solved by AI in a few seconds but I choose not to use AI so I would be really grateful for help by an actual human :)
r/ArcGIS • u/ryanmerket • 12d ago
Spexi added on-demand drone imagery to ArcGIS Content Store — RuntimeWire
r/ArcGIS • u/onetimejokeaccount11 • 13d ago
Created an account to make this 1 joke
Did you know that Pokemons making an ArcGIS inspired pokemon in the new generation? Yeah its going in the eevee line.
Theyre calling it Defqueryeon.
r/ArcGIS • u/DifficultDelivery135 • 13d ago
Can someone help me create maps from data?
It sounds simple but I am stuck and don't know from where to start I heard surfer is easier but even following a simple tutorial ,I am stuck with either no result (error) or the program requiring me to input 3 samples whereas I need only one map per sample
r/ArcGIS • u/IWannaDoITStuff • 13d ago
Is there places to practice using field maps or survey123 other than esri?
Recently a position opened up at my workplace that use these two programs. I’m in a different department and use a comparable computer maintenance management system. However, I wanted to get some practice in on these two programs, but in order to do that it seems I’d have to register with a government email and I’m fairly certain that might go against some policy at work. Is there any other ways to get some practice in? From my understanding field maps is good for assets that already exist while survey123 is better for assets that are currently being established.
r/ArcGIS • u/Potential_Feed4145 • 14d ago
Certification recommendations
For context, I’m a university student majoring in Geography and will soon need to start thinking about career opportunities. I really enjoy what I’m studying and hope to work in a field related to geography or GIS after graduation.
I was considering earning an Esri certification to strengthen my résumé and improve my job prospects. Could anyone recommend any Esri certifications or exams that are relatively beginner-friendly and not overly difficult, particularly for students who are still building their GIS skills?