Table des matières

Création de tuiles à partir de la base de données OSM

Matériel

Création des dossiers pour les sources

Installation de Postgresql 9.4 & Postgis 2.1 + Configuration

Installation de osm2pgsql

Télécharger les données OSM et les charger dans Postgresql

Ajouter des index à la base osm

CREATE INDEX osm_point_tags ON osm_point USING GIN(tags);
CREATE INDEX osm_line_tags ON osm_line USING GIN(tags);
CREATE INDEX osm_polygon_tags ON osm_polygon USING GIN(tags);

Table "params" manquante

CREATE TABLE params ( num INTEGER, KEY text);
INSERT INTO params (num, KEY) VALUES (0, 'buffer');
INSERT INTO params (num, KEY) VALUES (0, 'x_bleed');
INSERT INTO params (num, KEY) VALUES (0, 'y_bleed');

Solution basée sur CartoCSS & Mapnik

Fonctionne ! Voir : https://medspx.fr/kb/GIS/generate_osm/

Dernière ligne du fichier generate_tiles_multiprocess.py :

if __name__ == "__main__":
 
    home = os.environ['HOME']
    try:
        mapfile = os.environ['MAPNIK_MAP_FILE']
    except KeyError:
        mapfile = home + "/src/openstreetmap-carto/mapnik.xml"
    try:
        tile_dir = os.environ['MAPNIK_TILE_DIR']
    except KeyError:
        tile_dir = home + "/web/tiles/bitmap/mapnik/"
 
    if not tile_dir.endswith('/'):
        tile_dir = tile_dir + '/' 
 
    #-------------------------------------------------------------------------
    #   
    # Change the following for different bounding boxes and zoom levels
    minZoom = 8 
    maxZoom = 17
    bbox = (-0.027, 42.155, 8.597, 45.325)
    render_tiles(bbox, mapfile, tile_dir, minZoom, maxZoom)

Gpsd, Nodejs et Leaflet