Le 05/03/2012 18:05, Christian Quest a écrit :
Le 5 mars 2012 17:45, Marc SIBERT<[email protected]> a écrit :
Bonjour,
J'arrive un peu tard, j'ai déjà regardé de ce côté justement pour faire des
cartes de contours. Évidemment, comme j'aime réinventer la roue, je suis
passé par ma base SQLite / Spatialite perso et ça me permet de générer ça
par exemple : http://freeroute.fr/?p=107
L'article inclut les commandes SQL qui génèrent le SVG. Bien que le schéma
de BDD soit surement différent du tien, le principe doit rester similaire
d'une base à l'autre.
A ta dispo pour en parler.
Le principe reste le même même si la BDD en dessou n'est pas exactement la même.
Dans mon cas, j'utilise un schéma osmosis pour justement pouvoir
regénérer les objets graphiques à ma convenance.
Le schéma osm2pgsql est adapté à Mapnik et les objets sont déja
prémoulinés pour Mapnik.
Tu as choisi quoi comme projection ?
Un lambert sur la France entière : le 93 dans mon exemple.
Tu refais un traitement pour calculer le viewbox du SVG ou du prends
les xmin/xmax/ymin/ymax ?
la view box est fixe dans mon exemple simpliste et définie par
tâtonnements. Un calcul de BBOX nécessite de faire les calculs plusieurs
fois surtout si tu restes en full-sql, si tu scriptes, tu peux garder
des résultats intermédiaires pour accélérer le calcul de la BBOX
Pour info, tu peux alléger le SVG de 3 façons:
- faire des arrondis sur les coordonnées
- utiliser des déplacements relatifs dans les path
- regrouper les path similaire (ça évite de répéter path fill stroke
stroke-width qui représente pas loin de 50% du SVG généré).
Je pense que l'on peut gagner en factorisant les types : il doit bien y
avoir une sorte de CSS du SVG (pas de souvenirs), sinon le SVG qui est
du XML qui est du texte est éligible à la compression de répétition de
séquences (algo LZW) et surement un bon client (50% et au-delà).
Pour tronquer un peu les coordonnées, une fois en Lambert93, les entiers
suffises : l'unité est mètres !
A+
--
Marc Sibert
[email protected]
_______________________________________________
dev-fr mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/dev-fr