OpenStreetMap

Cyrille37's Diary

Recent diary entries

On va mapper les cinémas et théâtres en Haute-Garonne (31) sur une carte avec le logiciel TileMill.

Préparer TileMill

TileMill se télécharge (Linux, PC et Mac) sur le site de MapBox: http://mapbox.com/tilemill/

Ses sources et bien d’autres outils sont dispo sur les dépôts GitHub de MapBox: https://github.com/mapbox

Vous pouvez faire une promenade dans les exemples fournis.

L’IHM est simple :

  • en bas à gauche les icones pour gérer les calques (layers) et autres trucs.
  • en haut à droite le bouton “save” qui permet de mettre à jour le rendu.

Ensuite on lance le logiciel et on fait nouveau projet.

Dessiner tous les pays

MapBox fourni un fichier que l’on peut récupérer à l’url sur : http://mapbox-geodata.s3.amazonaws.com/natural-earth-1.4.0/cultural/10m-admin-0-countries.zip

Dans TileMill, dans le nouveau projet, on ajoute un layer de type File. On indique le chemin du fichier 10m-admin-0-countries.zip et on clique sur “Save and Style”.

Le contour des communes du département de Haute-Garonne

2 méthodes pour récupérer les données OpenStreetMap: faire une requête Overpass-API ou télécharger un export au format ESRI ShapeFile.

avec Overpass-API

ATTENTION Si vous utilisez la variable {{bbox}} il faut positionner la carte de façon que toute la Haute-Garonne soit affichée

La requête Overpass-API :

<osm-script output="xml">
 <query type="relation">
  <has-kv k="boundary" v="administrative"/>
  <has-kv k="admin_level" v="8"/>
  <has-kv k="ref:INSEE" regv="^31.*"/>
  <bbox-query {{bbox}}/>
 </query>
 <union>
  <item/>
  <recurse type="relation-way"/>
  <recurse type="way-node"/>
 </union>
 <print mode="body"/>
</osm-script>

avec un export ShapeFile OSM_Fr

Dans le répertoire : http://export.openstreetmap.fr/contours-administratifs/communes/ on prend le fichier: http://export.openstreetmap.fr/contours-administratifs/communes/copie-du-2013-11-20/31-Haute-Garonne.shp.tar.gz

Ajouter un layer

Dans TileMilll, dans le nouveau projet on ajoute un layer de type “File”. On va chercher le fichier des limites des communes, le fichier geojson ou le shapefile.

La feuille de style :

@futura_med: "Futura Medium","Function Pro Medium","Ubuntu Regular","Trebuchet MS Regular","DejaVu Sans Book";

Map {
    background-color: #b8dee6;
}

#10madmin0countries {
    line-color:#c02754;
    line-width:0.5;
    polygon-opacity:1;
    polygon-fill:#fff;
}

#10madmin0countries[zoom<=10] {
    text-name: "''";
    text-face-name:@futura_med;
    text-size: 11;
    text-halo-fill: rgba(255,255,255,0.5);
    text-halo-radius: 1;
    [zoom<=4] {
        text-name: "[ABBREV]";
    }
    [zoom>4] {
        text-name: "[NAME]";
    }
}

#31hautegaronne {
    line-color:#594;
    line-width:0.5;
    polygon-opacity:1;
    polygon-fill:#ae8;
}

#31hautegaronne[zoom>=11] {
    text-name: "[COMMUNE]";
    text-face-name:@futura_med;
    text-size: 11;
    text-halo-fill: rgba(255,255,255,0.5);
    text-halo-radius: 1;
}

Les Cinémas et Théatres

La requête Overpass-API:

<osm-script>
  <query into="_" type="area">
    <has-kv k="name" modv="" v="Haute-Garonne"/>
    <has-kv k="boundary" modv="" v="administrative"/>
  </query>
  <query into="_" type="way">
    <has-kv k="amenity" regv="cinema|theater" />
    <area-query from="_" into="_" ref=""/>
  </query>
  <union into="_">
    <item set="_"/>
    <recurse from="_" into="_" type="way-node"/>
  </union>
  <print from="_" mode="meta"/>
  <query into="_" type="area">
    <has-kv k="name" modv="" v="Haute-Garonne"/>
    <has-kv k="boundary" modv="" v="administrative"/>
  </query>
  <query into="_" type="node">
    <has-kv k="amenity" regv="cinema|theater" />
    <area-query from="_" into="_" ref=""/>
  </query>
  <print from="_" mode="meta"/>
</osm-script>

le fichier résultat au format GeoJson: http://dl.free.fr/gSw6asjPF

La feuille de style:

@futura_med: "Futura Medium","Function Pro Medium","Ubuntu Regular","Trebuchet MS Regular","DejaVu Sans Book";

Map {
  background-color: #b8dee6;
}

#10madmin0countries {
  line-color:#c02754;
  line-width:0.5;
  polygon-opacity:1;
  polygon-fill:#fff;
}

#10madmin0countries[zoom<=10] {
  text-name: "''";
  text-face-name:@futura_med;
  text-size: 11;
  text-halo-fill: rgba(255,255,255,0.5);
  text-halo-radius: 1;
  [zoom<=4] {
    text-name: "[ABBREV]";
  }  
  [zoom>4] {
    text-name: "[NAME]";
  }
}

#31hautegaronne {
  line-color:#6dab5e;
  line-width:0.5;
  polygon-opacity:0.5;
  polygon-fill:#6dab5e;
}

#31hautegaronne[zoom>=11] {
  text-name: "[COMMUNE]";
  text-face-name:@futura_med;
  text-size: 11;
  text-halo-fill: rgba(255,255,255,0.5);
  text-halo-radius: 1;
}

#hgct {
  line-color:#c02754;
  line-width:0.5;
  polygon-opacity:1;
  polygon-fill:#fff;
}

#hgct[amenity!=""] {
  marker-width:48;
  marker-allow-overlap:true;
  [amenity="cinema"] {
  	marker-file: url(/home/cyrille/Bureau/CDL2013_Atelier/cinema-24.svg);
  }
  [amenity="theatre"] {
  	marker-file: url(/home/cyrille/Bureau/CDL2013_Atelier/theatre-24.svg);
  }
}

Les icons : cinema-24.svg, theatre-24.svg

Les contours et noms des pays (by MapBox) : http://mapbox-geodata.s3.amazonaws.com/natural-earth-1.4.0/cultural/10m-admin-0-countries.zip

Location: Les Chalets - Saint-Aubin - Saint-Étienne, Toulouse Centre, Toulouse, Haute-Garonne, Occitanie, France métropolitaine, 31000, France

Update: Merci SK53 et Géovélo.

Il ne s'agit donc pas d'une erreur, mais de données en provenances du cadastre qui sont plus récentes que les cartes de Google et Bing.

Et oui, la construction à Tours est en effervescence !

==============================================
Certaines rues n'existent plus.

J'ai trouvé cette erreur en faisant des corrections avec OsmOse:
http://osmose.openstreetmap.fr/map/cgi-bin/index.py?zoom=18&lat=47.39431&lon=0.73201&layers=B000000FFFFFFFFFFFFT&item=1010,1030,1040,1050,1060,2010,2020,2030,2040,3010,3020,3030,4010,4020,4030,4040,4050,5010,5020,5030,5040,5050,6010,6020,6030,6040,6050,6060,7010,7020,7030

la modif:
Chemin : Place du jardin d'Alençay (109865114)
http://www.openstreetmap.org/browse/way/109865114

la carte osm: http://www.openstreetmap.org/?lat=47.394332&lon=0.733338&zoom=18&layers=M

la vue google: http://maps.google.fr/maps?f=q&source=s_q&hl=fr&geocode=&q=+jardin+d'Alen%C3%A7ay,+Tours&aq=&sll=46.935261,1.73584&sspn=10.788194,17.929688&ie=UTF8&ll=47.394678,0.732694&spn=0.002611,0.006421&t=h&z=18

Location: 37700, La Vicairerie, Saint-Pierre-des-Corps, Tours, Indre-et-Loire, Centre-Val de Loire, France métropolitaine, France