Map Technologies
PRESENTED BY
Joerg Reichert
Licensed under cc-by v3.0 (any jurisdiction)
Map concepts
{
"type": "Feature",
"properties": {
"name": "Oper",
"url": "www.oper-leipzig.de/",
...
},
"geometry": {
"type": "Point",
"coordinates": [
12.381291389465332,
51.34005275863635
]
}
}
Features
Map concepts
Points
Map concepts
Labels / Hovers
Map concepts
Lines
Map concepts
Polygons
Map concepts
Styles
Map concepts
Zoom
Map concepts
Basemap
Map concepts
Projection
Map concepts
Layers
Map types
Simple
Map types
Category Maps
Map types
Choropleth Maps
Map types
Cluster
Map types
Bubbles
Map types
Density Maps
Map types
Intensity Map
Map types
Heat Maps
Map types
Raster Maps
Map types
Torque Maps – Animation, Transition over time
Map concepts
Geo Server
Map concepts
WFS
Map concepts
WMS
Map concepts
Tiles
Map description standards
Shapefile
Map description standards
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Style id="MyStyle">
<IconStyle><Icon><href>icon.png</href></Icon></IconStyle>
</Style>
<Placemark>
<name>Simple placemark</name>
<description>...</description>
<styleUrl>#MyStyle</styleUrl>
<Point>
<coordinates>-122.0822035425683,37.42228990140251,0</coordinates>
</Point>
</Placemark>
</kml>
KML
Map description standards
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"name": "Oper",
"url": "www.oper-leipzig.de/"
},
"geometry": {
"type": "Point",
"coordinates": [
12.381291389465332,
51.34005275863635
]
}
}, ...
GeoJSON
Map description standards
Others
Map Providers
http://www.openstreetmap.org/
Map Providers
http://maps.google.de/
Map Providers
https://www.bing.com/maps
Map Providers
https://carto.com/
Map Providers
MapBox
https://www.mapbox.com/
Web integration
https://openlayers.org/
OpenLayers
Web integration
Leaflet
http://leafletjs.com/
Web integration
Google Maps
http://maps.google.de/
Web integration
Mapbox GL JS
https://www.mapbox.com/mapbox-gl-js/
Web integration
Carto.JS
https://carto.com/docs/carto-engine/carto-js
Web integration
D3.js
https://d3js.org/
https://www.phase2technology.co
m/blog/using-d3-quadtrees-to-po
wer-an-interactive-map-for-bonn
ier-corporation/
Map Styling
What to style
● Symbolizer
● Symbolizer rotation
● Color
● Label / Fonts
● Hatching (Fill)
● Line styles
● Decorators
● Placement
● Border
● Opacity
Map Styling
Influencer types
● Data driven styles
● Interaction driven styles
● Zoom
● Property values
● Zoom and property
Influencers
Map Styling
<FeatureTypeStyle>
<Rule>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>circle</WellKnownName>
<Fill>
<CssParameter name="fill">#FF0000</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
<CssParameter name="stroke-width">2</CssParameter>
</Stroke>
</Mark>
<Size>6</Size>
</Graphic>
</PointSymbolizer>
</Rule>
</FeatureTypeStyle>
SLD
Map Styling
YSLD
Map Styling
Carto CSS (discontinued) MapCSS
Map Styling
Mapbox GL JS Style API
visited.countries.forEach(function(country) {
var id = country.name.replace(' ', '-').toLowerCase();
var countryLayer = {
"id": id,
"type": "fill",
"source": "countries",
"source-layer": "countries",
"filter": ["==", "name", country.name],
"paint": {
"fill-color": "rgba(241,163,64," + alphaForYear(country.last) + ")"
},
"interactive": true
};
countryLayer["paint.selected-" + id] = {
"fill-color": "red"
};
style.layers.splice(3, 0, countryLayer);
});
Map Styling
D3.js
Map Styling
GeoJSON.IO
Map Interaction
Click / Hover
Map Interaction
● Feature (multi) selection
● Search by properties
● Filtering
● Feature property editing
● Creating new features
● Interaction with Forms
● Interaction with Diagrams
● Feature import / export
Other interactions
Map Interaction
Kiosk / Workbench
Map Data
● Google Maps
● coodinates must be shown on Google Maps
● coordinates must not be shown longer than 30 days
● if the maps are free accessible, APIs are allowed to be used free of
charge
● http://sun.exnatura.de/GM/coords.php
● OpenStreetMap
● http://wiki.openstreetmap.org/wiki/Nominatim
● http://boundingbox.klokantech.com/
● https://geocode.xyz/
Geo Coding
Map Data
● http://noc.to/geodecode
● http://www.geonames.org/export/reverse-geocoding.html
● https://developers.google.com/maps/documentation/javascript/examples/g
eocoding-reverse?hl=de
Reverse Geo coding
Map Data
● http://www.landesvermessung.sachsen.de/inhalt/aaa/alkis/alkis.html
● https://www.geomis.sachsen.de/
● www.geoportal.de/
● https://openaddresses.io/
● www.geodatenzentrum.de/geodaten/
Sources
Map Tools
GeoJSON.IO
Map Tools
Overpass Turbo
Map Tools
● http://overpass-api.de (Language guide)
● Finding possible keys and values to search for:
http://taginfo.openstreetmap.org/
● http://wiki.openstreetmap.org/wiki/DE:Overpass_API/Beispielsammlung
Overpass Turbo associates
Javascript Tools
JSFiddle
Javascript Tools
Bl.ocks
Javascript Tools
● Plunker: https://plnkr.co/
● http://codepen.io
● https://www.codeply.com/
Other tools
Journalism / Story telling
● https://github.com/MapStory/story-tools/
● http://webkid.io/
● https://github.com/wbkd/awesome-interactive-journalism
● http://datenjournalist.de/
● http://datadrivenjournalism.net/
● http://datajournalismhandbook.org/
● http://www.morgenpost.de/interaktiv/
● http://katalog.datenjournalismus.net/
● http://howto.ddjdach.de/
Examples

Map technologies