Team:Terrain/Mapping Software

From WHY2025 wiki
Revision as of 00:04, 31 August 2024 by Uglyhack (talk | contribs) (Created page with "We are still figuring out the best format for storing the map. In previous editions, the map was made using a 2d CAD program (Confusingly called Qcad) and a bunch of custom scripts. We haven't really decided if we want to keep the old infrastructure or change it around. Specifically, although you can do mapping in QGis, it doesn't seem to be designed for designing new areas (but rather for documenting existing places). If you have more experience with QGIS and disagree...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

We are still figuring out the best format for storing the map.

In previous editions, the map was made using a 2d CAD program (Confusingly called Qcad) and a bunch of custom scripts.

We haven't really decided if we want to keep the old infrastructure or change it around. Specifically, although you can do mapping in QGis, it doesn't seem to be designed for designing new areas (but rather for documenting existing places). If you have more experience with QGIS and disagree with this statement, we would love to discuss with you.

The other problem with QGIS is that it's data format doesn't seem to be very suitable for storing in git. I've found kart (https://kartproject.org/) as a possible solution.

Storing a terrain in a DXF file

I got the question of how you deal with a CAD program not being georeferenced.

It's actually pretty common. You assume the world is flat and use some 2d projection relevant to your area. In the Netherlands (excluding far away islands), pretty much everyone uses "Rijksdriehookcoordinaten". This is EPSG:28992, or EPSG:7415 with heights. For example, the map we have from another festival on the terrain is (I believe) a giant Autocad (DXF) file.

The reason it's easier is because CAD programs are designed for drawing. For example, if you want to draw a tent of 4mx4m, and then move it, and rotate it, it is possible in QGIS. But as far as I can tell you need to go to the advanced digitizing menu, which is hard to find for a beginner. There are no keyboard shortcuts for these operations unless you set them yourself.

QCAD

  • Familiar software, used at MCH
  • Similar software stack used for EMF
  • Software has paid features. Do we need any of these?
  • Generates dxf files natively, meaning you can put them in git

QGIS

  • 100% Free software, very mature, very widely used
  • Objects can be tagged. For example, every tent could be marked with "buildup date","teardown date","supplier","wiki link"
  • Drawing/rotating is possible, but it's not obvious how to do this.
  • We will definitely need to write instructions for everyone to understand. There's a lot of options, and most of them aren't relevant to us.
  • Can generate nice maps

Kart

If you use qgis, you can use kart for version control. This is not mature software, but it does give very nice insight into the changes. I didn't manage to get it running in Arch linux, but running everything under a Kubuntu VM works fine.

Instructions

  • Setup a new VM using your favorite ubuntu flavour.
  • Install qgis
  • Install kart from the .deb for on their website kart, you typically need the amd64 version.
  • Import the data using kart
  • Start qgis
  • Install the "kart" and "replace geometry" plugins (this is done using the plugin manager inside qgis)
  • Create a new project, save it somewhere. This should be a QGZ qgz file.
  • Right click on an empty bit of menu, and enable:
    • Advanced Digitizing Panel
    • Kart Repositories Panel
    • Advanced Digitizing Toolbar
    • Digitizing Toolbar
    • Shape Digitizing Toolbar
  • In the Kart Repositories Panel, right click on Repositories, and add an existing repository (the one you did earlier)
  • Drag the layers from the repository onto the main screen. You may want to move the order (can be dragged in the layers panel) or change the look (double click, and select a nice preset for each layer).
  • It's also nice to have the openstreetmap as a background. In the Browser Panel, look for XYZ tiles, and under that select OpenStreetMap. Drag it to the main screen, then in the layers panel drag it to the bottom