Select to view content in your preferred language

Create and manage map areas Allow Spatial Extent Defined by Hosted Feature Class Selection

656
2
09-13-2025 06:18 AM
Status: Open
Todd_Metzler
Frequent Contributor

My organization is responsible for geospatial management at the scale of a USA New England State.  The 16 map area limit in field maps designer is too small to support our widely dispersed field workers from a single mobile enabled map.  Requiring the Field Worker to define thier own offline area from their mobile device is inefficient and time consuming.

Additionally, the current method allows the creation of many overlapping offline areas that consumes storage space in our ArcGIS Enterprise since individual field workers have no insight to offline areas that have already been defined by other field workers that may suite their tasked area.

Instead of drawing areas, enable the ability pre-define an unlimited number of offline map areas from existing Feature Class(s), such as a county or town boundary polygon or a pre-defined grid such as H3 and allow the mobile map creator to pick and choose the areas from a list of predefined areas.

2 Comments
LindsayRaabe_FPCWA

Good idea. This isn't a solution, but something that may help make life easier in the meantime. You can set bookmarks in the webmap which can be accessed by field staff when they are creating offline areas in the field. If you have lots of features in a feature service, you could try automating the bookmark creation. I generated the below script with Copilot, but it is UNTESTED. You could implement in a Notebook and schedule regular updates (it should overwrite all existing bookmarks each time it is run). 

from arcgis.gis import GIS
from arcgis.mapping import WebMap
from arcgis.features import FeatureLayer
from arcgis.geometry import Geometry, union

# --- CONFIGURATION ---
feature_service_url = "https://services.arcgis.com/your-org-id/arcgis/rest/services/your-layer/FeatureServer/0"
webmap_id = "your_webmap_item_id"
bookmark_name_field = "Name"  # Field used to group and name bookmarks
point_buffer = 500  # Buffer distance in meters for point features

# --- CONNECT TO GIS ---
gis = GIS("home")  # Assumes you're logged in via Notebook or ArcGIS Pro

# --- LOAD WEB MAP ---
webmap_item = gis.content.get(webmap_id)
webmap = WebMap(webmap_item)

# --- LOAD FEATURE LAYER ---
layer = FeatureLayer(feature_service_url)
features = layer.query(where="1=1", out_fields="*", return_geometry=True).features

# --- GROUP FEATURES BY NAME ---
grouped_features = {}
for feature in features:
    name = feature.attributes.get(bookmark_name_field, "Bookmark")
    grouped_features.setdefault(name, []).append(feature)

# --- CREATE BOOKMARKS ---
bookmarks = []
for name, group in grouped_features.items():
    geometries = [Geometry(f.geometry) for f in group]

    # Union geometries
    dissolved_geom = union(geometries)

    # Determine extent
    if dissolved_geom.type == "point":
        x, y = dissolved_geom['x'], dissolved_geom['y']
        extent = {
            "xmin": x - point_buffer,
            "ymin": y - point_buffer,
            "xmax": x + point_buffer,
            "ymax": y + point_buffer,
            "spatialReference": {"wkid": 102100}
        }
    else:
        extent = dissolved_geom.extent

    bookmarks.append({
        "name": name,
        "extent": extent
    })

# --- UPDATE WEB MAP ---
webmap.definition["bookmarks"] = bookmarks
webmap.update()
print(f"✅ Added {len(bookmarks)} bookmarks to the web map.")

 

JulianBenz

I second this idea, with the emphasis on the part of being able to define the areas from existing feature layer(s), like a polygon. There is currently no workflow to get close to this as far as I can tell (unsure how the bookmarks suggestion above could accomplish this, but maybe I am not aware of how those work).

The creation of offline area in both the Field Maps app by field workers (i.e. can only define rectangular area) and also with field maps designer (have to manually create new polygons) is clunky at best. There needs to be an option akin to how layers can be clipped to a feature layer using the clip features geoprocessing tool or the create mobile map package option in ArcGIS pro.