Overview

NavGarminConverter img 2

CartoGarminConverter was developed for Navionics S.p.A. (later acquired by Garmin) to convert complex geometries from ShapeFile format (.shp) into electronic nautical charts (.img) compatible with Garmin navigation plotters (EchoMap series and later).

The project involved extensive work on geometry simplification, mapping, and management to meet the rendering and visualization requirements of Garmin marine navigation plotters.


Project Duration and Skills

  • Development Time: 12+ months
  • Skills Acquired:
    • Advanced Python development
    • Parallel processing
    • ShapeFile libraries expertise
    • Geometric algorithms:
      • Simplification
      • Geometry generation
      • Polygon difference operations

Technical Implementation

NavGarminConverter img 1

Core Features

  • Multi-process Architecture:
    • Utilizes Python’s multiprocessing capabilities
    • Optimized for parallel processing of large datasets
    • Configurable preprocessing pipeline

Libraries and Technologies

  • Key Libraries:
    • Gdal/OGR for shapefile processing
    • Shapely for geometry operations
  • Format Support:
    • Input: ShapeFile (.shp)
    • Output: Garmin chart format (.img)
  • Cross-platform Support:
    • Native on macOS/Linux
    • Windows support via Wine emulator

Preprocessing Pipeline

The tool implements a sophisticated preprocessing phase based on various zoom levels:

  • Point reduction based on layer level
  • Line simplification and approximation
  • Shapefile merge operations
  • Dissolve operations for geometry optimization

Data Enhancement

  • POI Generation: Automatic creation of Points of Interest
  • Real-time Data: Additional information for runtime area characteristics during navigation
  • Feature Mapping: Comprehensive mapping between input features and Garmin-supported features

Development Features

Configuration System

  • Flexible Setup: Configuration file for process optimization
  • Customizable Parameters: Adjustable settings for different conversion needs
  • Prototype Testing: Initial feature validation through prototyping

Quality Assurance

  • Verification Tools:
    • Intermediate output validation
    • Input data integrity checking
    • Separate tools for points, lines, and areas validation

Reverse Engineering

The project included reverse engineering of Garmin’s format, although utilizing the established cGPSMapper for final compilation.


Project Objective

The ultimate goal was to recreate Navionics’ rich and detailed nautical charts on competitor hardware (Garmin), maintaining the high quality and detail level that Navionics was known for.

This required careful attention to:

  • Data accuracy preservation
  • Detail level optimization
  • Performance considerations
  • Hardware compatibility

Sources under NDA provided partially only.