A learning path for creating global scale, 3D, online maps
I spent a few hours reading up on WebGL, OpenStreetMaps and digital cartography in general. I followed a few different paths and didn't "get to the end" of any of them. This is definately something I'd like to invest more time in.
The many paths
- Cartography in general
- WebGL for creating 3D map assets
- Other GeoSpatial software
- Creating custom globe-scale maps with something like Open Street maps
Cartography in general
Axis Maps - Cartography Guide
www.axismaps.com [...] guideIn this short guide, we share some insights and tips for designing maps. Our goal is to cover important concepts in cartography and flag the important decision points in the map-making process. There isn't always a single best answer in cartography, and in those cases we've tried to outline some of the pros and cons to different solutions.
WebGL for creating 3D map assetss
WebGL model view projection
developer.mozilla.org [...] WebGL_model_view_projectionThis article explores how to take data within a WebGL project, and project it into the proper spaces to display it on the screen. It assumes a knowledge of basic matrix math using translation, scale, and rotation matrices. It explains the three core matrices that are typically used when composing a 3D scene: the model, view and projection matrices.
Matrix theory
en.wikipedia.org [...] Matrix_(mathematics)A major application of matrices is to represent linear transformations (that is, generalizations of linear functions such as f(x) = 4x). For example, the rotation of vectors in three-dimensional space is a linear transformation, which can be represented by a rotation matrix R: if v is a column vector (a matrix with only one column) describing the position of a point in space, the product Rv is a column vector describing the position of that point after a rotation. The product of two transformation matrices is a matrix that represents the composition of two transformations.
[...]
Applications of matrices are found in most scientific fields.[6] In every branch of physics, including classical mechanics, optics, electromagnetism, quantum mechanics, and quantum electrodynamics, they are used to study physical phenomena, such as the motion of rigid bodies.
In computer graphics, they are used to manipulate 3D models and project them onto a 2-dimensional screen.
More depth than necessary but very interesting, and related to the fundamentals of WebGL
WebGL 2D Matrices
webglfundamentals.org [...] webgl-2d-matrices.htmlThis post is a continuation of a series of posts about WebGL. The first started with fundamentals and the previous was about scaling 2D geometry.
Other GeoSpatial software
Vector tiles
en.wikipedia.org [...] Vector_tiles –Vector tiles, tiled vectors or vectiles are packets of geographic data, packaged into pre-defined roughly-square shaped "tiles" for transfer over the web. This is an emerging method for delivering styled web maps, combining certain benefits of pre-rendered raster map tiles with vector map data. As with the widely used raster tiled web maps, map data is requested by a client as a set of "tiles" corresponding to square areas of land of a pre-defined size and location. Unlike raster tiled web maps, however, the server returns vector map data, which has been clipped to the boundaries of each tile, instead of a pre-rendered map image.
GDAL
gdal.orgGDAL is a translator library for raster and vector geospatial data formats that is released under an X/MIT style Open Source License by the Open Source Geospatial Foundation. As a library, it presents a single raster abstract data model and single vector abstract data model to the calling application for all supported formats. It also comes with a variety of useful command line utilities for data translation and processing.
Developing a 3D Model using QGIS
GeoDelta Labs -- YoutubeIn this tutorial, you will learn how to develop a 3D model from a DEM using QGIS. We will be using the QGIS plugin 'Qgis2threejs' in order to build the 3D model, adjust the vertical exaggeration of the terrain, adjust the styling and finally export the 3D model as an HTML file, so that the 3D model can be opened by a web browser without having the need to have QGIS.
Creating 3D Maps and Animations using QGIS
GeoDelta Labs - YoutubeIn this tutorial, you will learn how to create 3D maps using vector data in QGIS. As an example, the tutorial illustrates how to transform 2D building footprint data into 3D and visualize it with the aid of a base layer from OpenStreetMaps, and to finally create an animation using QGIS.
Using GeoJSON with Leaflet
leafletjs.com –GeoJSON is becoming a very popular data format among many GIS technologies and services — it's simple, lightweight, straightforward, and Leaflet is quite good at handling it. In this example, you'll learn how to create and interact with map vectors created from GeoJSON objects.
How to create a 3D Terrain with Google Maps and height maps in Photoshop
Orange Box Ceo - YoutubeThis video shows you how to make a 3D map of almost any location in the world in less than 10 minutes. And you don't even need any 3D program for it - just Photoshop, Google Maps and the 3D Map Generator terrain.
Maps and location for developers
www.mapbox.comPrecise location data and powerful developer tools to change the way we navigate the world.
Freemium product
Creating custom globe-scale maps with something like Open Street maps
Otto's forum post on creating a fantasy map with OpenStreetMap
help.openstreetmap.org [...] how-to-create-fantasyimaginary-maps-with-openstreetmap –Let's say we want to create something like Tolkien's Middle Earth map with OSM. What would be the best way for achieving this?
I've drawn a fantasy map on Inkscape and Gimp. Now that I've discovered OSM, I think it would allow to get much more details and expressions than with those tools. I've begun to import the svg trace into JOSM. It's working great and it's quite easy to use. But now the problem is for rendering it. When using Osmarender (from josm or from the command line with xsltproc), I can get a SVG file, which is too wide for Inkscape (the map is 1800 km wide). Besides, the rendering is not complete, I have several parts which are not shown.
Otto ends up answering his own question, posting some awesome links in the process. His success is really inspiring.
JOSM
josm.openstreetmap.deJOSM is an extensible editor for OpenStreetMap (OSM) for Java 8+.
It supports loading GPX tracks, background imagery, and OSM data from local sources as well as from online sources and allows to edit the OSM data (nodes, ways, and relations) and their metadata tags.
Ceyx
wiki.openstreetmap.org [...] CeyxCeyx is a MapCSS parser and renderer written in Python. It is licensed under the GPL v2+. Its main developer so far is Sebastian Spaeth.
Glosm
wiki.openstreetmap.org [...] GlosmGlosm is hardware-accelerated OpenGL-based OpenStreetMap renderer by User:AMDmi3. Both tile rendering and realtime first-person viewer are supported.