Marek Dworecki
← All projects

GeoSurvey

Surveying software for Polish land surveyors: calculations, a map editor and the basic map in one fast window.

The GeoSurvey window: a map with points and labels, a coordinate table, the project tree and the command line.
Imported points on the map, the coordinate table and the command line

Problem

The surveying programs I come across are clunky. GeoSurvey is meant to know Polish regulations and map symbols, and to work like a modern editor: with a command palette, a CAD-style command line and the map at the centre. It is native, keeps data local and costs next to nothing, so it runs without a server.

What it does

  • Surveying calculations: polar, offsets, intersections, area, azimuth and distance.
  • PL-2000, PL-1992 and BLH coordinate systems and transformations between them.
  • A map editor with drawing, snapping and editing, and DXF import and export.
  • The basic map: all 169 map symbols from the regulation, attributes, labels and plotting from point codes.
  • Reading GML data from the survey office (EGiB, GESUT, BDOT500) and drawing it with the regulation’s symbols, due in the next release.
  • A command palette (Ctrl+K) and a command line with aliases.
The command palette, Ctrl+K

Technical decisions

Correctness above all

Every calculation has tests on reference data, and the tolerances are fixed: coordinates to 1 mm, angles to 1 cc. Normative values such as permissible deviations go into the code only once confirmed, never on a guess.

A core without dependencies

The calculation library has no NuGet packages, and dependencies between projects only point downwards (interface, data and files, core). Calculations can be tested and swapped without the interface.

Raw observations never change

Nothing overwrites raw observations. Coordinates from calculations are stored separately, and the project tree shows where each came from: import, calculation or entered by hand.

A project is a single SQLite file

Data stays local in the project file (.gsp, an SQLite database). There is no server and no hosting bill, which is what lets the program cost next to nothing.

Outcome

Version 0.6.0, released on 8 October 2026, includes the full set of basic-map symbols. Reading GML is done and waits for the next release; writing changes back to GML and editing come next. The repository has about 570 commits.