Export France : Dessiner les villes

Extraire des données OSM, créer sa carte, uMap, utiliser sur un GPS ou un smartphone...
Répondre
NasH
Messages : 14
Inscription : dim. nov. 03, 2013 3:42 pm

Export France : Dessiner les villes

Message par NasH » mar. nov. 05, 2013 12:23 pm

Bonjour à tous !

C'est encore moi l'emmerdeur de service :)

J'avais une petite question concernant les villes. J'aimerais dessiner les villes, un peu à la mode d'une carte michelin, un polygon jaune schématisant la ville.

Je suis donc aller sur le wiki france et j'ai vu que :

boundary='administrative' et admin_level='8' étaient à priori les filtres à utiliser pour isoler les communes.

Code : Tout sélectionner

(select * from planet_osm_polygon where admin_level='8' and boundary='administrative') as villes
J'ai l'impression que ça me sort tous les cantons...

Je pense ne pas bien "requêter"...

Savez-vous, sur l'export France, comment récupérer les villes et uniquement les villes ?

Merci à vous.
(Je tenterai de mettre quelques images à la suite du sujet pour l'illustrer un peu).

sly
Messages : 487
Inscription : sam. févr. 07, 2009 6:33 pm
Localisation : Chambéry - savoie

Re: Export France : Dessiner les villes

Message par sly » mar. nov. 05, 2013 4:23 pm

NasH a écrit :J'aimerais dessiner les villes, un peu à la mode d'une carte michelin, un polygon jaune schématisant la ville.
C'est comment "à la mode michelin" ?

La première question à se poser étant "quelle surface veux-tu représenter", ville, ça peut être vague...
La deuxième étant est-ce que ça existe dans osm, et si non, ou, pas tout le temps, qu'est-ce qui s'en rapproche le plus ou comment combler ce qui manque.

Est-ce que ça se rapproche de "l'unité urbaine" ? :
http://fr.wikipedia.org/wiki/Unit%C3%A9_urbaine
soit :" une catégorie statistique qui désigne empiriquement un territoire défini par la continuité de l'habitat ou du bâti" ?
boundary='administrative' et admin_level='8' étaient à priori les filtres à utiliser pour isoler les communes.
Oui, mais une commune n'est pas une ville

Code : Tout sélectionner

(select * from planet_osm_polygon where admin_level='8' and boundary='administrative') as villes
J'ai l'impression que ça me sort tous les cantons...
Non, ça sort... les contours de communes ;-)
Savez-vous, sur l'export France, comment récupérer les villes et uniquement les villes ?
Comme dit plus haut, il faudrait d'abord répondre à "c'est quoi une ville", mais si je suppose que ça se rapproche de l'unité urbaine avec peut-être des restrictions de population, alors il est possible que ce soit vers le tag "place=*" qu'il faille se tourner et tout particulièrement place=city ou place=town
voir : http://wiki.openstreetmap.org/wiki/Key:place
Mais là, j'ai peur que tu sois déçu, ça n'est pas très bien renseigné dans osm, car la plupart des villes sont sous forme de points et non de surface.

Et parfois, en tout cas selon moi, c'est le tag landuse=residential qui a été abusé pour indiquer une unité urbaine alors que ça n'est pas tout à fait la même chose, il faudrait donc peut-être aussi coupler avec ça.

Tu peux tenter une requête de ce type :

Code : Tout sélectionner

(select * from planet_osm_polygon where place in ('city','town') as villes limit 100
et voir un peu ce que ça donne et si ça te semble se rapprocher.

NasH
Messages : 14
Inscription : dim. nov. 03, 2013 3:42 pm

Re: Export France : Dessiner les villes

Message par NasH » mar. nov. 05, 2013 5:10 pm

Un grand merci pour ta réponse !

J'ai déjà pas mal étudié la "key" "place" avec city, town, etc etc..

Je vais poursuivre mes investigations.

Pour ce qui est du style michelin, c'est les villes en jaune :

Image

sly
Messages : 487
Inscription : sam. févr. 07, 2009 6:33 pm
Localisation : Chambéry - savoie

Re: Export France : Dessiner les villes

Message par sly » mar. nov. 05, 2013 5:37 pm

NasH a écrit : Pour ce qui est du style michelin, c'est les villes en jaune :
ha ouais...
ça à l'air super approximatif et super dé-zoomé ces "surfaces jaunes" chez michelin, j'ai regardé du coté de chez moi histoire de me faire une idée (chambéry) et ça n'a l'air d'être ni la surface de commune, ni vraiment la surface du bâti continue, ça ressemble juste à un pâté approximatif pour éviter de monter le centre ville ce qui n'aurait pas d'utilité à ce niveau de zoom !

Je dirais donc que si ton but c'est de représenter les villes uniquement à un niveau de zoom aussi faible, prend juste un rond et trace le d'un diamètre proportionnel à la population ou alors prend la surface de commune et ça fera pas loin du même résultat que michelin.

Maintenant, si tu veux pouvoir représenter ces surfaces à un zoom plus élevé et/ou éventuellement pour des villes plus petites et donc être plus précis, là il va falloir ruser un peu plus car toutes les données ne sont pas forcément dans OSM

NasH
Messages : 14
Inscription : dim. nov. 03, 2013 3:42 pm

Re: Export France : Dessiner les villes

Message par NasH » mar. nov. 05, 2013 7:26 pm

Re Sly,

Encore merci pour tes conseils.

La carte n'est effectivement pas prévue pour zoomé pour voir le détail des villes.

Par contre, je dois skiner une carte avec la "forme" des villes, et en faisant des essais avec place = 'qqchose', c'est pas au top.

Pourtant, y'a de l'idée pour l'exemple ci-dessous (Parthenay) mais il y a que très peu de villes qui sont représentées comme ça :

Requête : (select * from planet_osm_polygon where place<>'') as villes
C'est bourrin, je sais ! :)

Image :

Image

sly
Messages : 487
Inscription : sam. févr. 07, 2009 6:33 pm
Localisation : Chambéry - savoie

Re: Export France : Dessiner les villes

Message par sly » mar. nov. 05, 2013 7:56 pm

NasH a écrit : Par contre, je dois skiner une carte avec la "forme" des villes, et en faisant des essais avec place = 'qqchose', c'est pas au top.
(...)
Image :
Et pourtant, je trouve le résultat plutôt chouette ! C'est le résultat qui ne te convient pas où c'est le fait que pas assez de villes dans osm dispose de leur contour de tracé ?

Si c'est le cas 2... y'a plus qu'a !

NasH
Messages : 14
Inscription : dim. nov. 03, 2013 3:42 pm

Re: Export France : Dessiner les villes

Message par NasH » mer. nov. 06, 2013 10:15 am

Tout à fait, c'est ça que j'aimerais pour les villes. Pour les villages trop petits, je mettrai volontiers un simple rond.

Dans l'export France, je n'ai pas l'impression que toutes les villes ne soient décrites avec un polygone style "zone urbaine" comme le lien wikipedia que tu m'as envoyé.

NasH
Messages : 14
Inscription : dim. nov. 03, 2013 3:42 pm

Re: Export France : Dessiner les villes

Message par NasH » mer. nov. 06, 2013 10:39 am

Petit complément, les différentes valeurs de "place" dans les polygones :

Code : Tout sélectionner

gis=# select distinct place from planet_osm_polygon;
              place
----------------------------------

 farm
 hamlet
 land
 RÚsidence des Hautes Chatries
 subdivision
 Place de l'Hotel de Ville
 archipelago
 mountain
 islet
 village
 Centre Commercial de la Verville
 region
 Nieces des Daviers
 common
 place
 yes
 town
 city
 locality
 state
 private
 neighbourhood
 Marchfeld
 island
 suburb
 country
 isolated_dwelling
(28 lignes)

sly
Messages : 487
Inscription : sam. févr. 07, 2009 6:33 pm
Localisation : Chambéry - savoie

Re: Export France : Dessiner les villes

Message par sly » mer. nov. 06, 2013 11:49 am

NasH a écrit : je n'ai pas l'impression que toutes les villes ne soient décrites avec un polygone style "zone urbaine"(...).
C'est même sûr que non.

NasH
Messages : 14
Inscription : dim. nov. 03, 2013 3:42 pm

Re: Export France : Dessiner les villes

Message par NasH » mer. nov. 06, 2013 11:58 am

:cry: Snif :)

Je vais jouer autour des données dont on a parlé.

Merci encore pour ton aide.

NasH
Messages : 14
Inscription : dim. nov. 03, 2013 3:42 pm

Re: Export France : Dessiner les villes

Message par NasH » mer. nov. 06, 2013 12:02 pm

Désolé de spammer mais finalement, c'est peut être le moment de contribuer pour moi ! :)

Pieren

Re: Export France : Dessiner les villes

Message par Pieren » mer. nov. 06, 2013 1:39 pm

En fait, ce que tu cherches existe déjà mais dans des polygones taggués "landuse=*". Les centres sont souvent en "landuse=residential". Mais il faudra aussi agréger les polygones en "landuse=industry", "landuse=commercial", "landuse=retail" qui peuvent se trouver en périphérie. Certains portent aussi un tag "place=*" mais pas beaucoup parce qu'il n'y a pas consensus sur ce point. Il n'existe pas non plus de tags pour tracer les limites des "zones contruites" dans leur ensemble. La tendance est plutot de faire des landuse par usage (résidentiel, commercial) comme listé précédement. Certains de ces polygones portent aussi le tag "name" avec le nom de la zone mais plus souvent, ça sera le nom de la zone (commerciale, industrielle, etc). Dans les petites villes et villages, il y a encore souvent un polygone landuse=residential unique. Il y a aussi de grandes villes avec plein de landuse mais dont la couverture n'est pas homogène (trous ou chevauchements).

Il ne faudrait pas que tu te lances dans la création d'un nouveau type de polygone pour définir la zone d'agglomération sans une concertation préalable avec la communauté. Il faut d'abord voir quels tags utiliser et de quelle manière (relation ou pas, etc).

NasH
Messages : 14
Inscription : dim. nov. 03, 2013 3:42 pm

Re: Export France : Dessiner les villes

Message par NasH » mer. nov. 06, 2013 4:54 pm

Pieren a écrit :Il ne faudrait pas que tu te lances dans la création d'un nouveau type de polygone pour définir la zone d'agglomération sans une concertation préalable avec la communauté. Il faut d'abord voir quels tags utiliser et de quelle manière (relation ou pas, etc).
Merci pour le complément d'information, ça va m'aider également.

C'est cette histoire de relation que je n'ai pas encore bien comprise.

NasH
Messages : 14
Inscription : dim. nov. 03, 2013 3:42 pm

Re: Export France : Dessiner les villes

Message par NasH » jeu. nov. 07, 2013 11:02 am

Voici ce que le landuse donne, intéressant :

Image

Pieren

Re: Export France : Dessiner les villes

Message par Pieren » jeu. nov. 07, 2013 12:37 pm

Voila. Maintenant, si tu veux ajouter les noms "comme chez Michelin", tu dois récupérer les noeuds taggées en "place=city" ou "place=town" pour les villes ou "place=village" pour les villages (ça peut dépendre de ton niveau de zoom).

Yves

Re: Export France : Dessiner les villes

Message par Yves » jeu. nov. 07, 2013 10:22 pm

Joli résultat. Si tu utilise postgis, un petit st_simplify devrait donner un résultat plus schématique encore, à la Michelin.

NasH
Messages : 14
Inscription : dim. nov. 03, 2013 3:42 pm

Re: Export France : Dessiner les villes

Message par NasH » ven. nov. 08, 2013 4:30 pm

Pas bête :)

C'est une fonction non ? Comment ça s'utilise ?

yves

Re: Export France : Dessiner les villes

Message par yves » sam. nov. 09, 2013 2:04 am

Ca s'utilise dans la requête sql ton layer.
Du genre select st_simplify(way, 100) from planet_osm_line ...

NasH
Messages : 14
Inscription : dim. nov. 03, 2013 3:42 pm

Re: Export France : Dessiner les villes

Message par NasH » sam. nov. 09, 2013 4:10 pm

Effectivement, c'est super ton astuce ! Merci.

Image

Avatar de l’utilisateur
cquest
Messages : 1667
Inscription : ven. avr. 16, 2010 12:22 am
Localisation : Val de Marne
Contact :

Re: Export France : Dessiner les villes

Message par cquest » lun. nov. 11, 2013 11:52 am

Salut NasH,

Bienvenue dans le monde de la cartographie... le vrai, celui où on essaye de dessiner une belle carte à partir des données collectées par les topographes ;)

Tu met surtout un pied dans ce qu'on appelle la "généralisation cartographique", c'est à dire simplifier des données pour les rendre compréhensibles au petites et moyennes échelles.

A ce niveau, on ne représente plus la réalité topographique, on doit faire des simplifications pour que le carte soit lisible. Le ST_Simplify en est un exemple.

Le prochain défi que tu va devoir affronter c'est le "placement". Placement de symboles, et surtout placement de texte... car autant les formes géométriques peuvent se superposer et rester lisibles, autant le symboles et surtout les textes ne peuvent pas se superposer.

Un peu de lecture (il n'y a que 141 pages): http://fad.ensg.eu/moodle/file.php/9/carto_vol1.pdf

BrunoC
Messages : 365
Inscription : sam. juin 23, 2012 11:07 am
Localisation : Nantes
Contact :

Re: Export France : Dessiner les villes

Message par BrunoC » lun. nov. 11, 2013 12:06 pm

J'ai une question dans la suite logique de celle NasH.

Sans passer par Postgis, Tillmill propose aussi une fonction pour modifier la géométrie des polygones, "smooth"
Ca marche pas mal, et en plus cela peut faire des truc rigolo si on met une valeur supérieure à 1.

Question: pourquoi je ne trouve pas l'équivalent du ST_simplify dans tilemill ?!

J'ai bien trouvé polygon-geometry-transform , mais a priori c'est pour appliquer des transformations de translation (translate) ou d'échelle (scale).

A+
Bruno

Avatar de l’utilisateur
cquest
Messages : 1667
Inscription : ven. avr. 16, 2010 12:22 am
Localisation : Val de Marne
Contact :

Re: Export France : Dessiner les villes

Message par cquest » lun. nov. 11, 2013 2:02 pm

smooth est un des rares paramètres de mapnik (et donc de TileMill) qui agisse sur la géométrie en transformant une ligne brisée plus ou moins en courbe de bézier.
Je l'utilise sur le rendu FR pour "lisser" les autoroutes et les voies ferrées où en principe on a toujours des rayons de courbure importants.

Si on veut manipuler la géométrie des objets, il faut le faire en amont, donc dans les données qu'on va fournir à mapnik et c'est naturellement PostGIS qui va s'en charger avec par exemple ST_Simplify, mais aussi ST_Buffer, etc...

On peut ainsi créer des géométries nouvelles, faire des regroupements, etc. Pour les noms de rue par exemple, je fais des regroupements pour avoir des tronçons plus longs et avoir ainsi plus de place pour écrire leur nom.

Les traitement sur les géométries par postGIS ouvrent des possibilités très étendues, c'est ce qui m'a permis de placer automatiquement les lignes sur les terrains de sport par exemple ou d'orienter les passages piétons.

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité