Giter Site home page Giter Site logo

arda's Introduction

Arda

Maps of J. R. R. Tolkien's Middle Earth, using a DEM (Digital Elevation Model) and place name vectors.

Arda was the name of the entire world, which included the part known as Middle Earth.

map

map

Goals

  • Make colored elevation maps with hillshading
  • Make name placement and size similar to Tolkien's maps
  • Use as detailed maps for Adventures in Middle Earth (D&D 5e) games

Data

The DEM is stored in a 10k x 10k jpg file, made by monks and Redrobes on the Outerra Worlds Forum.

The vector data includes the place names, rivers, forests, mountains - made by monks, SeerBlue, and Redrobes, and maintained by jvangeld here - https://github.com/jvangeld/ME-GIS.

The entire map covers 2000km on each axis, so the resolution of the DEM is 200m/px.

The file data/rasters/10K.wld defines how the DEM corresponds to the map coordinate system as used by the vector data. This is currently slightly off - improvements could be made.

Installing

Clone this repo

git clone https://github.com/bburns/arda.git
cd arda

Clone ME-GIS to the data/vectors subdirectory

git clone https://github.com/jvangeld/ME-GIS data/vectors

Get the Tolkien font here - https://fontzone.net/font-details/tolkien

Install QGIS

Open arda.qgs in QGIS

Build the hillshade layer - Raster / Analysis / Hillshade - enter a z-factor of 100.0 and click Run. Then adjust the global opacity of the layer to 50% - Layer Styling sidebar / Transparency / Global Opacity. This builds a ~100MB TIFF file in a temp folder so is not included in the repo.

Todo

  • Add river sizes in meters and render widths accordingly
  • Make map views for the Hobbit (overview, The Shire, Eriador, Misty Mountains, Mirkwood)
  • Make map views for The Lord of the Rings corresponding to travels
  • Explain QGIS and pull requests for shapefile data in readme
  • Switch easily between colorful and minimal color versions - how do?
  • Get access to 40k x 40k DEM (50m/px) version
  • Render to tiles for Google Maps-like site, using Leaflet - try vector map tiles and mapboxGL? include search index

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.