Generate Display pages with symbols or map markers positioned at the coordinates of your GIS or CAD features.

ReferenceSolutionDesignerSettings and ToolsImport Tags → GIS/CAD Display


New in 10.1.5 (draft). Page is a work-in-progress preview. Screenshots and final wording will land before the 10.1.5 release.

The GIS/CAD Display Generator reads the same file formats as the GIS File and AutoCAD File Tag Importers and produces FrameworX Display pages whose elements are placed at the coordinates of each feature. Use it to build an overview screen of a solar plant, a pipeline-network map, or a P&ID-derived schematic without manual placement.

The wizard has two output modes. Canvas mode draws symbols on a canvas using a relative coordinate projection. Map mode generates a full-page map with a marker per feature. The mode is auto-selected from the input file type and is editable in Step 2.


Supported Input Formats

Format

Extensions

Default Mode

GeoJSON

.geojson, .json

Map

Esri Shapefile

.shp, .zip

Map

KML / KMZ

.kml, .kmz

Map

AutoCAD DXF

.dxf

Canvas

AutoCAD DWG

.dwg

Canvas

The wizard auto-detects the mode from the extension in Step 2 and keeps the auto-default until you change the Display Mode combo. After an explicit choice, the wizard remembers the choice across Back and Next.


Modes

Canvas mode

Draws a Canvas-type Display page with one symbol per feature. Coordinates are projected to page pixels using a relative bounding box so the symbols fit the page regardless of input units. Best for small to medium datasets (up to a few thousand features), for CAD drawings, and for layouts where absolute geographic accuracy is not required (tank farms, building floor plans, one-line diagrams).

Canvas mode supports per-layer symbol overrides, page width and height, margin, engine choice (Portable, WPF, HTML5), and Group By Layer to produce one page per layer.

Map mode

Draws a single-element Display page containing a full-page TMapsOSM control and generates code-behind that calls AddMarker per feature on display open. Markers are bound to @Tag.<markerName>, so tooltip and runtime data flow through the tag system. Best for GIS input where geographic context matters.

Map mode uses the OpenStreetMap basemap by default. The view zooms to the bounding box of all markers on first open. Each display holds up to 10,000 markers. Larger datasets are truncated to the first 10,000 with the remainder counted as skipped.


Import Process

Open Solution → Import Tags → GIS/CAD Display. The wizard has three steps.

Step 1. File Select

  1. Click Browse. The filter accepts .geojson, .json, .shp, .zip, .kml, .kmz, .dxf, .dwg.
  2. The wizard runs a metadata scan and shows the feature count, layers, and attributes.

Step 2. Config

  1. Pick the Display Mode from the combo at the top. The default is set from the input file type.
  2. Set the Display Name Pattern.
  3. For Canvas mode: set the default Symbol, any per-layer overrides, Symbol Width, Symbol Height, Page Width, Page Height, Margin, and Engine. Map mode hides these fields.
  4. For Map mode: set the Marker Color. Canvas-only fields (Symbol, Symbol Label, Symbol Size, Margin, Engine) are hidden.
  5. Set the Tag Name Pattern used to bind each feature to a tag.
  6. Set Label Property (Canvas mode only). Default is Tag.
  7. Set Group By Layer to produce one display per layer, or clear it for one display that holds every feature.
  8. Optionally set Included Layers to whitelist specific layers.

Step 3. Generate

Click Start. The wizard routes to the Canvas pipeline or the Map pipeline based on the mode. Progress shows current display, features consumed, symbols placed (Canvas) or markers placed (Map), and features skipped. Display writes are serialised on the UI thread.


Configuration Reference

Option

Mode

Description

Default

Display Mode

Both

Canvas or Map. Auto-default from file type.

Map for GIS, Canvas for CAD

Display Name Pattern

Both

Pattern used for each generated display page. Tokens: {Layer}, {FileName}, {FeatureType}.

{Layer}

Tag Name Pattern

Both

Pattern bound to the symbol label (Canvas) or the marker data tag (Map). Same token syntax as the tag importers.

{Name}

Group By Layer

Both

When on, generates one display per layer.

On

Included Layers

Both

Whitelist of layer names. Empty list means all layers.

(empty)

Symbol

Canvas

Default symbol library path for every feature.

(required)

Per-Layer Overrides

Canvas

Layer-to-symbol mapping grid. Overrides the default for listed layers.

(empty)

Symbol Width / Height

Canvas

Pixel size of each symbol on the canvas.

40 / 40

Page Width / Height / Margin

Canvas

Dimensions of each generated display page.

1920 / 1080 / 40

Engine

Canvas

Display engine used for the created pages.

Portable

Label Property

Canvas

Symbol property bound to the resolved tag name.

Tag

Marker Color

Map

Marker color applied to every generated marker.

green

Map Provider

Map

Basemap tile provider. OpenStreetMap.

OpenStreetMap


Coordinate Handling

Canvas mode

Features are projected to canvas pixels by a relative bounding-box transform. The top-left of the used area is the northwest corner of the bounding box, shifted in by the Margin. Latitude is inverted so higher latitudes sit higher on the page. If every feature shares the same coordinates, the range collapses and the wizard substitutes a minimum of 0.01 so the single symbol lands at the page centre.

Map mode

Markers are added with map.AddMarker(lat, lon, name, color, shape, "@Tag." + name) on the OnDisplayOpening event. Marker data is embedded in the generated code-behind as a compact comma-separated block and parsed at runtime. The view runs ZoomToCoordinates on first open so the initial viewport fits all markers.

Coordinates must be WGS84 latitude and longitude. Non-WGS84 input is placed at the raw numeric location, which produces incorrect positions on the basemap. CAD inputs are not supported in Map mode in 10.1.5.


Tutorial

Produce a Map-mode display from a GeoJSON file and verify it at runtime.

  1. Run the GIS File Tag Importer first to create tags for each feature.
  2. Choose Solution → Import Tags → GIS/CAD Display.
  3. Browse to the same .geojson and click Next.
  4. Confirm Display Mode is Map. Set Display Name Pattern to PlantOverview. Set Tag Name Pattern to match what the tag importer produced. Pick a Marker Color. Click Next.
  5. Click Start. Wait for the marker counter to match the feature count.
  6. Open the new display. The basemap loads, the view zooms to the markers, and each marker tooltip shows the feature name.
  7. Run the solution. Set a live value on one of the bound tags. The marker's tooltip updates at runtime.

Edge Cases and Limitations

  • Existing display name. If a display with the target name already exists, the wizard loads the existing page and adds elements to it. Pre-existing elements are preserved unless they share the generated Uid. Rename the target or delete the old display if you want a clean page.
  • Null-island guard. Features at exactly (0,0) latitude and longitude are skipped by both pipelines.
  • Missing symbol (Canvas). Features on a layer with no matching symbol are skipped and logged.
  • Zero-area bounding box. When every feature shares the same coordinates, the projection substitutes a minimum range so the single feature lands at the page or map centre.
  • Map mode marker cap. Each generated display holds up to 10,000 markers. Inputs above the cap are truncated and counted as skipped. Split the input by layer or by region to work around this.
  • Map mode for CAD. DXF and DWG files use abstract X/Y units that are not latitude and longitude, so Map mode is not supported for CAD input in 10.1.5. Use Canvas mode.
  • Tags not pre-created. The wizard does not create tags. Run the tag importer first, or set the Tag Name Pattern to match tags you plan to create. Bindings to missing tags resolve only after the tags exist.
  • Line and polygon geometry. Lines and polygons are reduced to a centroid. A polyline or polygon render is not available in 10.1.5.
  • KPI badges, marker clustering, and viewport-based dynamic loading. Planned for a later release (tracked as TDEV-1233, TDEV-1234, TDEV-1235). Not available in 10.1.5.

In this section...