Diagram / Maps / Map Overview
Map Overview

NOV Diagram for .NET provides support for importing and working with geographical data in the popular ESRI shapefile format.

 Architecture

The following diagram illustrates the process that transforms geographical data into NOV Diagram shapes:

  1. The process begins with specifying the source of the geographical data (e.g. an ESRI shapefile) by using the AddShapefile method of the map importer. You can add one or more shapefiles to the map and configure them individually. Shapefiles can be a file on the disk, a stream or a resource embedded in your application. For more information check out the ESRI Shapefiles topic.
  2. The geographical data is then read by the map importer and the import of the shapes is ready to begin.
  3. First, a map projection transforms the 3D geographical coordinates to 2D coordinates by projecting the 3D geographical data to the plane.
  4. After the coordinates of all points are calculated by the projection, NOV diagram shapes are created.
  5. A fill rule can be applied to the created shapes in order to color them, for example to create a political or a choropleth map.
  6. A shape created listener can be attached to the map importer in case you want to customize the imported shapes even further (e.g. to set tooltips to them).
 Code Example

The following piece of code demonstrates how to create and configure a map importer and how to use it to import some geographical data in a NOV diagram:

Importing geographical data
Copy Code
// Create a map importer
NEsriMapImporter mapImporter = new NEsriMapImporter();

// Add an ESRI shapefile
NEsriShapefile countries = new NEsriShapefile(NResources.RBIN_Maps_countries_shp);
countries.NameColumn = "name_long";
countries.TextColumn = "name_long";
countries.MinTextZoomPercent = 50;
countries.FillRule = new NMapFillRuleValue("mapcolor8", Colors);
mapImporter.AddShapefile(countries);

// Read the map data
mapImporter.Read();
mapImporter.MapBounds = NMapBounds.World; // Specifies that this is a world map

// Import the map to the drawing document
mapImporter.Import(m_DrawingDocument, page.Bounds);