Team:Terrain/Mapping Software

From WHY2025 wiki
Revision as of 12:54, 16 December 2024 by Gina (talk | contribs)
Jump to navigation Jump to search

We are using Qgis with a PostGIS backend for storing the maps. We will regularly update files here on the wiki, and if a specific output is required let us know.

If you want direct access, or the ability to add/edit layers for your team, you can get that. You need:

  • A VPN (wireguard) connection, which can be provided by Team:Sysadmin.
  • A PostGIS (database) connection, which can be provided by Team:Terrain.

So please send an email to both of those requesting access.

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.

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

Creating DB users

Teams should have their own DB users for the Map DB with a separate schema where they have edit rights. You can use the following script:

CREATE USER username WITH PASSWORD 'password';
CREATE SCHEMA schemaname;
GRANT ALL PRIVILEGES ON SCHEMA schemaname TO username;
ALTER DEFAULT PRIVILEGES IN SCHEMA schemaname GRANT ALL PRIVILEGES ON TABLES TO username;
GRANT why25 to username;

ALTER DEFAULT PRIVILEGES IN SCHEMA noc GRANT SELECT ON TABLES TO why25;
GRANT USAGE ON SCHEMA noc TO why25;