← Back to more projects
GIS ENGINEERINGInternship project

QGIS–MapGIS symbol conversion

Interoperability tooling during a backend internship

Jul – Aug 2024

A C# symbol-table conversion tool connecting QGIS and MapGIS, developed during my Zhongdi Digital Technology internship.

ROLE

Backend development intern

APPROACH

C# · QGIS · MapGIS

MapGIS/QGIS symbol conversion interface comparison from the internship report.
MapGIS/QGIS symbol conversion interface comparison from the internship report. View full-size figure

Research question

A map style contains layered geometry, visual properties, and placement rules. Transferring it between GIS platforms requires translating that structure into the target system’s symbol model. During my Zhongdi internship, I developed C# tooling for QGIS-to-MapGIS symbol conversion.

My contribution

  • Developed conversion paths for marker, line, and fill symbols, organizing layer-specific behavior within a shared conversion framework.
  • Worked with font, SVG, raster, ellipse, and simple marker layers, alongside line and fill representations.
  • Refactored symbol-class relationships and separated reusable transformations for color, size, angle, position, and anchoring.

Technical approach

  • Read source symbol definitions into QGIS-side objects, dispatch by symbol and layer type, and construct the corresponding MapGIS objects.
  • Handle compound symbols through layer-by-layer conversion so individual visual properties can be mapped consistently.
  • Use dedicated property-conversion components to organize unit, geometry, and visual-style mappings across symbol types.

Results & outcomes

  • Delivered a C# conversion workflow covering point, line, and polygon symbol structures, supported by reusable property transformations.
  • The internship combined object-oriented refactoring with cross-platform data translation, turning a format-conversion task into a structured interoperability tool.

Get in touch

For conversations about research, projects, or potential collaboration, you can reach me by email.