Skip to content

Zones

A zone in epanet-js is a named polygon that you bring in from GIS. The app takes no position on what a zone stands for. It can be a DMA, a pressure zone, a supply area, or a council boundary. Nothing in the hydraulics reads it. Zones give you the areas of the network drawn and named on the map. They also give you a way to confine a customer point allocation to one area.

Zones are a paid feature, except on the demo networks. On the free plan the import opens Upgrade to import zones. See Plans.

File > Import > Zones opens the Import zones wizard. Before you start:

  • You need a GeoJSON file, or a Shapefile. A Shapefile is the .shp together with its .dbf and .prj, and its .cpg if there is one.
  • The wizard reads only Polygon and MultiPolygon geometries. It skips anything else in the file. If the file has neither of the two geometries, the wizard refuses it with The file does not contain any Polygon or MultiPolygon geometries.
  • On an X-Y grid project the menu entry is grayed out, because the polygons have nothing to line up against. You must give the project a projection first. See Projections.
  1. Drop the file onto Add from file, or click to browse. A Shapefile needs all its parts together, and the dropzone names the parts that are still missing. If a GeoJSON holds no projection information, the app reads it as being in the projection of the network. The step tells you this before you go on.

    The wizard’s first step with a GeoJSON on it

  2. Choose the property that carries the zone name. The preview table under the selector shows the first seven labels and how many more there are. A property that holds serial numbers is thus obvious before you commit to it. None (auto-generate labels) names the zones Z1, Z2, Z3 and so on instead.

    The label step, with a property chosen and the preview under it

  3. The last step reports how many zones the app imported. It also lists the zones that the app merged.

    The last step of the wizard, reporting what was imported

When you choose a label property, the app groups every feature with the same value into one zone. A set of eleven polygons that together make up one DMA thus arrives as a single zone.

The Complete step lists each merged label against its Number of merged features. A count that you did not expect is thus visible before you leave the wizard. Auto-generated labels never merge, because each feature becomes its own zone.

When a project has zones, a Zone symbology section appears in the Map tab, above Customer points. Its controls are Visible, Color by, Palette and Label by. See Symbology.

Three things about how the app draws zones are useful to know first:

  • The fill is faint, and gets fainter as you zoom in. A zone is a bird’s-eye overlay. At the zoom level for pipe editing it is almost invisible. This is deliberate, because a zone is not something you work over.
  • The app gives neighboring zones different colors. When you set Color by to Label, the app finds which zones overlap each other’s extents. It then gives two neighbors colors that are not similar, so a boundary is clear even on a large set.
  • Labels are off until you ask for them. Set Label by to Label to write the zone names on the map.

Drumchapel’s two zones drawn and named on the map

The app draws zones under the network. Clicking a zone does nothing, because you cannot select a zone. A zone is never part of a selection.

Customer point allocation is the one place where a zone changes what the app does. In Customers allocation, under Scope, the Allocation zone selector lists every zone in the project. It defaults to All zones. When you choose one zone, the run covers only the customer points inside that polygon. Results preview then reports the coverage inside that zone, which is the number of its customers that the rules cover. It reports this coverage over Coverage across network, which counts the customer points in the whole model that are still unallocated.

The allocation dialog with its scope confined to one zone

Thus you can do a large allocation one area at a time, and make sure that each area is correct. The other option is one pass over the whole network that you either trust or do not. See Customer points.

  • No asset carries a zone. A junction does not know which zone it is in. A zone is not a column in the data tables, and not a field on the asset tab. You cannot color the network by zone in Symbology.
  • The engine does not read zones. A zone changes no result.
  • The app does not write zones to an exported INP, because the format has no section for them. The app saves zones in the project file. If you want the zones to travel, use .ejsdb. See Import and export.
  • Zones have nothing to do with the boundary trace. Selection trace uses the word “zone” for the hydraulic area around an asset, and it works that area out from the network itself. See Selecting and finding assets.

An import of zones changes the project. The unsaved marker appears, and Save writes the zones into the .ejsdb.

Two things behave differently from a network edit:

  • Undo does not take zones back out. The import is not in the undo history. The only way back is to import the previous set again.
  • Zones are not part of a scenario. If you import zones while a scenario is active, the app writes them to the project itself. When you switch back to Main, the zones are still there. See Scenario work.
  • Symbology — the Zone symbology controls in full.
  • Customer points — how to import and allocate the customers that a zone scopes.
  • Projections — what to set before the import is available at all.