Diagram / Maps / Map Overview
In This Topic
    Map Overview
    In This Topic

    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);