|
IDEA
|
This would be a great addition, I manage a ton of two-stage forms and getting quick access to either mode would be great. Bonus points if we can edit all the other implicit variables (device type, hidden type fields etc.) to quickly see how the form will behave under other circumstances.
... View more
01-22-2026
08:27 AM
|
0
|
0
|
366
|
|
POST
|
Just thought of one last thing to try: if you have a 3D Analyst license you can extrude your block areas into extremely tall buildings and poke around the Visibility tools. This might be the most accurate way to figure out which areas are "in shadow" and can be culled.
... View more
01-21-2026
11:26 AM
|
0
|
0
|
574
|
|
POST
|
Alright, given the limited test data I've made, I think I have a working concept. This requires that the roadway segments don't have any gaps in each working area, and the block areas touch the roadway segments in at least two places. Run Feature Vertices to Points on the block areas, then Delete Identical on the Shape field to remove the double origin vertices. Spatial Join the vertices to the roadway, unchecking the keep all option. You now have just the block vertices that touch the roadway, with the roadway segment attributes as well. Make a polyline feature class and add two fields: a field to hold a related Object ID, and a field to track left vs. right side. We'll call this "Traces". It's Python time! Use a Search Cursor to make a dictionary of roadway keys to "SHAPE@" geometry data. Create an Insert Cursor for Traces (related OID, "SHAPE@" geometry and side fields) and a Search Cursor for the spatially joined points ("OID@" object ID field, "SHAPE@" geometry field). For every point: Get the line geometry from the dictionary. Use the line's measureOnLine method to get the measure of the point along the line. Get a "p1" point from the line with the positionAlongLine method and subtracting a very small distance from the measure. Do it again to get a "p2" point but add a very small distance to the measure. Use the angleAndDistanceTo method of p1 to p2 to get the rough heading angle of the line at that point. Use the pointFromAngleAndDistance method of the original point with the buffer distance and the heading minus 90, this creates an endpoint from the original point out to the left. Use the Polyline constructor to turn these two points into a line. You can get the spatial reference from the original point. Insert the polyline, the point's Object ID and a "left side" side value into Traces using the Insert Cursor. Repeat steps 6-8 but add 90 to the heading instead, and use a "right side" value. You now have a bunch of perpendicular lines shooting out from the roadway. We need to turn these into polygons, so start by Dissolving the roadway segments into one single line feature. Get a sorted list of those spatial join points with their Object IDs, sorting on their measure along the dissolved roadway line. I'll toss in the code for this one as sorting with a key is a bit more advanced than your usual Python: line = next(arcpy.da.SearchCursor("Dissolved Roadway Segments", "SHAPE@"))[0]
def _sort_by_length(row):
return line.measureOnLine(row[1])
sorted_points = sorted(arcpy.da.SearchCursor("Spatial Join Points", ("OID@", "SHAPE@")), key=_sort_by_length) Search Cursor through the Traces and build a dictionary of related Object ID to "SHAPE@" geometry twice over. The first time filter to just the left side lines and the second to the right side lines. Create a Polygon feature class to hold the data from the next steps and create an Insert Cursor for it, no extra fields required. Get the first point from the sorted points as the "last_point". For all the remaining sorted points: Use the OID of the last_point on the left side trace dictionary to get the first line geometry. Use the OID of the current sorted point on the left side trace dictionary to get the second line geometry. Build a Polygon using these points: firstPoint of first line, lastPoint of first line, lastPoint of second line, firstPoint of second line, and firstPoint of first line again to close it. Insert that polygon using the Insert Cursor. Repeat steps 1-4 but use the right side traces dictionary to get the two lines. Set last_point to the current point so it's ready for the next loop iteration. Erase the block areas from these new polygons. Select all erased polygons that "Share a line segment with" the block areas. Remove from selection any erased polygons that "Share a line segment with" the roadway segments. Phew, that was a lot! But from my limited testing this gives you a bunch of polygons that indicate points to exclude from further processing. Hope this gets you started on something. I also welcome anyone reading this to reply with better ways to do all the geometry nonsense I laid out.
... View more
01-21-2026
11:15 AM
|
0
|
0
|
576
|
|
POST
|
If Preserve Global ID won't fit your workflow: create the destination feature class with the "Guid" field type for every Global ID field. When you append the Global ID will be stored as-is in that Guid field. This also works with Object ID fields, just use "Long" (or the new 64-bit field type if needed) instead of "Guid".
... View more
01-21-2026
08:48 AM
|
0
|
0
|
422
|
|
POST
|
I was staring at this for minutes trying to figure out where the polygons were until I broke out the eyedropper tool. For anyone else with some red-green color blindness, here's a version of the OP's image with the polygons' contrast blown out: I don't have a solution right now, but to confirm some things: is the attached data and image consistent with how your data is laid out? Have I classified my demo points correctly based on the results you're looking for?
... View more
01-21-2026
08:44 AM
|
0
|
0
|
582
|
|
POST
|
Correct! Use the arcpy.mp module to loop through your map layers.
... View more
01-19-2026
08:11 AM
|
0
|
0
|
290
|
|
POST
|
If the schema hasn't changed between annual versions, you can create a new hosted feature service with the same layers and schema as the previous year, then follow the existing feature service workflow to glue the new form to the service manually. This also removes the automatic service management features that Connect provides, which adds some overhead every time you add a new field or need a new hosted view, but it prevents Connect from clobbering your data accidentally.
... View more
01-15-2026
04:52 PM
|
0
|
0
|
478
|
|
POST
|
The more EGDBs you have, the easier it is to handle performance tuning, backup management, contractually obligated data silos etc. but you lose the ability to do any relation-based work (relationship classes, topologies, referencing other tables in attribute rules etc.) between GDBs. I'd advise against a single EGDB to prevent one part of your organization tanking the entire system, but anything beyond that has no hard and fast rules. I've found in my work that one EGDB per client is a good starting point as that lets you easily integrate data from old projects into future work without the risk of proprietary data bleeding into other jobs by mistake. One final thing: if you don't need EGDB features, consider leveraging your data store with hosted layers. Do you really need an archive table and complex query support for that water main shapefile you got from the city, or do you just need to get that into your maps as quickly and efficiently as possible? It's a lot easier to maintain and tune your EGDBs if there's less in there to begin with.
... View more
01-15-2026
03:43 PM
|
1
|
1
|
416
|
|
POST
|
Shot in the dark, but does restarting the feature service or restarting Pro help? Sometimes ArcGIS can cache domain code lists for longer than you'd think.
... View more
01-15-2026
02:31 PM
|
0
|
0
|
372
|
|
POST
|
Whoops, I wrote an entire paragraph before realizing you're talking about restricting edits to the Web Map structure itself, not feature edits. Anyways, it looks like if a user has editing privileges they can reconfigure a web map and then make edits in that same window, even if they technically can't create content. It'd be nicer if the map authoring controls were locked out below the creator level (although there might be a user role option that I'm missing here) but it seems like the best solution for now is regular data validation as mentioned below. Here's my original write-up in case it helps: To my knowledge there's no "only use this map in Field Maps" option. One thing you can try is adding some GPS Metadata Fields and then validating if they're populated with valid data. This might be possible with form validation but I'm not sure if these fields are populated before the form is validated or not. An Attribute Rule would work but this will restrict editing to Field Maps only and you might not have access to them if you're Online-only. So sadly, not the best options for this level of access control in real time, you might have to settle for regular inspections and take disciplinary action as needed.
... View more
01-15-2026
02:29 PM
|
0
|
1
|
643
|
|
POST
|
Nothing formal in arcpy for most -- if not all -- application properties, but assuming your Pro installation uses the standard paths: import ujson
from os import path
with open(path.expandvars(r"%APPDATA%\Esri\ArcGISPro\Favorites\Favorites.json")) as f:
fav_data = ujson.load(f) and then you can scan through the dictionary to get the paths you need.
... View more
01-15-2026
10:22 AM
|
2
|
0
|
333
|
|
POST
|
Getting the CIM Definition for your layer and diving through the property tree until you get to the label's text symbol should let you edit the halo and outline properties.
... View more
01-15-2026
09:32 AM
|
0
|
2
|
353
|
|
POST
|
You can have many select_multiple questions, each with their own choice list and relevancy. You can then use a calculation to pick the correct question based on the animal type and store the data in one field for easy processing. The downside is you either have to keep the redundant fields in your dataset or bind them to null, which can cause issues if you need to edit existing data through the Inbox.
... View more
01-15-2026
08:55 AM
|
0
|
1
|
428
|
|
POST
|
I might be misreading your requirements but would selecting the polygons you want to duplicate, copying them out to a new dataset, and then repeatedly appending the copies back to the source solve your problem?
... View more
01-14-2026
12:45 PM
|
0
|
0
|
567
|
| Title | Kudos | Posted |
|---|---|---|
| 2 | 04-09-2026 11:36 AM | |
| 1 | 09-08-2023 10:07 AM | |
| 3 | 03-26-2026 08:11 AM | |
| 2 | 03-12-2026 01:41 PM | |
| 1 | 03-06-2026 08:58 AM |
| Online Status |
Offline
|
| Date Last Visited |
Friday
|