[gilug] Re: TileMill Mapbox

xevi xbarnada gmail com
2012-09-18 09:28:55 UTC


Hola, 
Jo uso el Tilemill amb l'Ubuntu 12.04 pero no crec que sigui molt
diferent.El mes diferent que tinc en el meu cas es que la base de dades
amb les dades d'OpenStreetMap esta en un altre ordinador(192.168.1.15)
amb un Debian, en principi això no hauria d'afectar gaire.
El primer que s'ha de fer abans de començar es instal·lar PostgreSQL i
Postgis i configurar-ho.
Per instal·lar-ho es pot fer amb un 
sudo apt-get install postgresql postgis pgadmin3 osm2pgsql

Un cop fet això s'ha de crear la base de dades i carregar-hi el modul de
Postgis.Per fer-ho amb Ubuntu el millor es seguir els pasos que es
detallen a al wiki d'OSM
http://wiki.openstreetmap.org/wiki/Mapnik/PostGIS#Complete_Installation_for_Ubuntu

Un cop fet aixo la base de dades ja esta preparada per poder-hi importar
els fitxers.Això es fa de la següent manera:

Si es vol es pot canviar la següent comanda per fer que es baixin 
nomes les dades de Catalunya o d'una zona mes petita.En podeu trobar mes aqui:
http://downloads.cloudmade.com/
#Baixar les dades d'Espanya
wget http://download.geofabrik.de/osm/europe/spain.osm.bz2 -P /home/xevi/osm/
#Descomprimir les dades
bzip2 -d /home/xevi/osm/spain.osm.bz2

Per defecte osm2pgsql carrega uns determinats valors,en el cas de
voler-ne afegir mes s'ha de fer una copia de l'estil i editar-lo.Per
usar un estil editat es fa amb l'argument -S seguit de l'url del fitxer
d'estil.
#Carregar les dades a la base de dades de PostGIS
#Molta paciència es un proces que pot tardar hores
osm2pgsql -s /home/xevi/osm/spain.osm  -d gis


Les comandes per carregar les dades a la base de dades jo les tinc posades 
en un script que esta al cron i cada cert temps descarrega i actualitza les dades.

Un cop fet això es pot comprovar amb pgadmin que la base de dades s'ha
carregat correctament, veurem que ha creat 3 taules que corresponen a
punts línies i relacions.També hi haurà 3 taules temporals que
contenen les dades temporals que usa osm2pgsql per carregar les dades.

Després de tot això la base de dades ja esta llesta per ser usada des de
Tilemill.

Un cop a Tilemill he creat 3 capes a mes de la capa original que ve quan 
crees un projecte amb el TileMill.Aquestes son les consultes SQL de 
cada capa:
La primera capa es la capa dels nuclis urbans:
(select * from planet_osm_polygon where landuse='residential' ) as nuclis_urbans
nom de la capa:nuclis_urbans

La segona referent als carrers i vies territorials:
(select * from planet_osm_line where highway='residential'or highway='tertiary'  or highway='service' ) as carrers
nom de la capa:carrers

La tercera capa referent a les carreteres principals:
(select * from planet_osm_roads where highway='residential' or highway='road' or highway='tertiary' or highway='tertiary_link' or highway='secondary' or highway='secondary_link' or highway='primary' or highway='primary_link' or highway='trunk' or highway='trunk_link' or highway='motorway' or highway='motorway_link'  ) as carreteres
nom de la capa:carreteres

Una altre part que s'ha de configurar es la configuració del renderitzat, 
aquest usa un llenguatge creat per Mapbox que es diu Carto.Aquest llenguatge 
es bastant similar al CSS que s'usa en el HTML.
El codi que he usat es el següent:

Map {
  background-color: #b8dee6;
}

@color_contorn_nucli: #222222;
@color_dins_nucli: rgb(196, 243, 170);

#countries {
  ::outline {
    line-color: #85c5d3;
    line-width: 2;
    line-join: round;
  }
  polygon-fill: #fff;
}


#carreteres {
  line-width:1;
  line-color:#168;
}


#carrers {
  line-width:1;
  line-color:#168;
}
#nuclis_urbans {
  line-color: @color_contorn_nucli;
  line-width: 1.0;
  polygon-opacity:0.5;
  polygon-fill: @color_dins_nucli;

}

Si es vol es poden canviar els colors per adequar-ho als interessos.El 
que no se ben be com es fa es per posar els noms dels nuclis urbans.

Una altre cosa que es pot fer es personalitzar quines dades es veuen
a cada nivell de zoom , això es pot fer posant la clau [zoom>] per 
a restringir que una norma s'apliqui a partir d'un cert nivell de zoom.Exemple:
#nuclis_urbans[zoom>10] {
  line-color: @color_contorn_nucli;
  line-width: 1.0;
  polygon-opacity:0.5;
  polygon-fill: @color_dins_nucli;
}
Això ens ajudaria a que si es mira el mapa amb un nivell de zoom baix evitarem
haver d'esperar a que es renderitzi una zona molt gran.

Aquí podeu veure un exemple del renderitzat:
http://www.flickr.com/photos/xevib/7999175334/?edited=1

Salut

> Bones, ara he provat amb Ubuntu 10.10 el programa de tilemill.com que 
> com em va dir l'altre dia en Xavier Barnada serveix per generar mapes a 
> mida a partir de les dades de openstreetmap.org
> 
> Treballa sobre Java, i li costa una mica d'arrencar. Si no ho fa a la 
> primera, cal esperar uns minuts a què marxi i tornar-ho a intentar.
> De tota manera, a primer cop d'ull no he vist una eina gaire visual, 
> doncs t'ensenya en un costat un editor de fitxers, i no sé si es tracta 
> d'escriure el codi font per a què et mostri el resultat.
> 
> Si algú altre hi té experiència, si us plau que exposi una manera breu 
> d'obtenir per exemple un mapa de les comarques gironines amb només 
> poblacions i carreteres asfaltades.
> 
> Gràcies.
> 
> 
> ________________________________________________________
> LLISTA DE DISTRIBUCIO DE CORREU del GiLUG
> --------------------------------------------------------
> - Per a escriure a tothom de la llista, envia el teu missatge a: gilug(arrova)llista.actiu.info
> - Per a d'altres questions sobre la llista o subscripcio, autogestiona't a:
> http://llista.actiu.info/mailman/listinfo/gilug
> * Tots els missatges queden publicats a:
> http://llista.actiu.info/pipermail/gilug/







Més informació sobre la llista de correu gilug