Skip to content

Site Geometry

A Site Geometry record links a NetBox dcim.Site to the Pathways geospatial system. It is a thin model with two responsibilities:

  1. Hold an explicit boundary or footprint geometry for a Site that is not itself one of your Structures.
  2. Provide a fallback geometry when a Site is "the same physical thing" as a Structure (for example, a single-building site that you also model as a Building Entrance Structure).

Why It Exists

NetBox's dcim.Site does not have a geometry field. The Pathways plugin needs a way to anchor data on a Site for two cases:

  • The map registry. Other plugins can register layers whose geometry is resolved through dcim.Site (see the Map Layer Registry). The lookup path is pathways_geometry__geometry, which only works when a SiteGeometry row exists for that site.
  • Drawing site outlines or campus footprints on the map without forcing every site to be modelled as a Structure.

Fields

Field Type Notes
site OneToOne dcim.Site Required. Each site has at most one geometry record.
structure OneToOne Structure Optional. If set, the site "is" this structure; pathway ends naming a location in the site without a closer structure belong to it (How pathway ends attach).
geometry Point or Polygon Optional. Explicit geometry. Auto-populated from structure.geometry if blank on save.
comments text

Geometry Resolution

The effective_geometry property returns the right geometry to use:

  1. If geometry is set, use it.
  2. Otherwise, if structure is set and the structure has a geometry, use structure.geometry.
  3. Otherwise, return None.

SiteGeometry.save() automatically copies the structure's geometry into the explicit geometry field if the field is blank when a structure is attached. After save, the explicit field is populated, and edits to the structure no longer feed back automatically. Re-link the structure or clear the geometry field if you want to refresh the copy.

When To Create A Site Geometry

Situation Create one?
You want to draw a site polygon on the Pathways map. Yes.
Another plugin's models reference dcim.Site and need map placement. Yes.
The site is identical to a single Structure you already created. Optional. Helpful for plugins doing reverse lookups; otherwise the Structure alone is enough.
You only ever route through Structures inside the site, not the site itself. No.

Map Display

Site polygons render with a 20% fill opacity and the layer's stroke colour. They are not toggled on by default and must be wired through a registered map layer (typically by your own plugin) to appear on the map.

The plugin's first-party map does not show site geometries directly; the feature exists primarily as the geometry source for cross-plugin layers.

Forms

Create or edit a SiteGeometry at /plugins/pathways/site-geometries/. The form uses the standard map widget, so you can click the map to drop a point or use the polygon tool to draw a footprint.