Jun 062014
 

OpenStreetMap (OSM) es una base de datos geográfica que abarca el mundo entero. Se trata de un proyecto “crowdsource”, en el cual los datos contenidos en OpenStreetMap son generados por miles de colaboradores voluntarios. Esto hace que la cantidad y el tipo de la información contenida en OSM varía significativamente de un país a otro.

En este artículo presentamos un estudio del contenido la base de datos de OpenStreetMap de California.

El contenido de esta base de datos se puede explorar en nuestro sitio web Callejero California, o en su versión en lengua inglesa California Streets.

Cómo obtener la base de datos OSM de California

La base de datos de OpenStreetMap se puede obtener en forma de un único fichero “planet-latest.osm.bz2”. Pero este fichero contiene la información existente a nivel mundial, por lo que, a fecha de Junio de 2014, ocupa 35 GB en formato comprimido, y más de 500 GB sin comprimir.

Si lo que deseamos es obtener los datos correspondientes a un único país,para no tener que descargar y procesar este enorme volumen de datos, es posible descargar extractos que algunos sitios colaboradores de OpenStreeetMap ponen a disposición del público. La lista de sitios que contienen extractos por país se puede obtener aquí.

Nosotros hemos utilizado el extracto diario disponible en geofabrik.de. Para descargarlo, utilizamos el comando:

wget http://download.geofabrik.de/north-america/us/california-latest.osm.bz2

El fichero descargado está comprimido en formato bzip2, y ocupa 722 MBytes. En su interior, contiene un documento XML con tres tipos de elementos: nodos, vías (ways) y relaciones, que se comentan a continuación.

También es posible descargar de geofabrik.de ficheros de cambios incrementales diarios, para mantener actualizada la copia local de la base de datos. En el caso de California, los ficheros incrementales de los últimos tres meses se encuentran en la URL http://download.geofabrik.de/north-america/us/california-updates/000/000/.

El tamaño de estos ficheros nos da una idea de la actividad de mantenimiento realizada sobre los datos geográficos de California que contiene OSM. Lo podemos visualizar en un gráfico:

[visualizer id=”5547″]

Nodos

La base de datos OSM de California analizada contiene 40,397,420 nodos.

Cada nodo está identificado por un identificador numérico único, y consta básicamente de un par de coordenadas (latitud,longitud) que determinan un punto del mapa.

Opcionalmente, el nodo puede tener asociadas etiquetas (tags) que ofrecen información adicional sobre el mismo.

Ejemplo:

 <node id="302880" lat="37.3453169" lon="-122.0599688" version="6"
       timestamp="2010-04-23T22:22:54Z" changeset="4508152" uid="14293" user="KindredCoda"/>
 <node id="302882" lat="37.3384415" lon="-122.0598944" version="9" 
       timestamp="2012-10-09T06:59:56Z" changeset="13422450" uid="207745" user="NE2"/>
 <node id="302883" lat="37.3376866" lon="-122.0597495" version="7"
       timestamp="2012-10-09T06:59:56Z" changeset="13422450" uid="207745" user="NE2">
     <tag k="exit_to" v="I-280"/>
     <tag k="highway" v="motorway_junction"/>
     <tag k="ref" v="19A"/>
     <tag k="source" v="http://www.dot.ca.gov/hq/traffops/signtech/calnexus/pdf/eightyfivenor
th.pdf;http://www.dot.ca.gov/hq/traffops/signtech/calnexus/pdf/eightyfivesouth.pdf"/>
 </node>

En el ejemplo podemos ver tres nodos que aparecen al comienzo del fichero descargado. Los dos primeros contienen únicamente sus identificadores y coordenadas, junto con información administrativa en forma de atributos asignados al tag <node>.

El tercer nodo tiene también una serie de etiquetas (“tags”) asociadas, que proporcionan información adicional. En el ejemplo, vemos que el nodo corresponde a una unión de carreteras (k=”highway”, v=”motorway_junction”)

 

Etiquetas de nodo (node tags)

Del total de nodos existente en el fichero descargado, 1,349,962 tienen una o más etiquetas asociadas.

Las etiquetas asociadas a un nodo son simplemente un par (k,v) en donde k (“key”) es el nombre de la etiqueta, y v (“value”) su valor.

Existen una serie de nombres de etiqueta normalizados (como “name” o “highway”, que se pueden ver en el ejemplo de arriba). Pero OSM no fuerza el uso de estos nombres, por lo que en la base de datos se pueden encontrar nombres no normalizados,  nombres que contienen errores ortográficos, y otros casos.

Resulta interesante analizar estadísticamente el total de apariciones de cada nombre de etiqueta. Las más frecuentes son:

k                         Total
---------------------   --------
source                    820812
addr:housenumber          730865
addr:street               720407
addr:country              668926
is_in:state_code          667843
is_in:country             666586
is_in:state               666542
is_in:country_code        666541
addr:city                 581410
addr:postcode             571381
is_in:city                541883
highway                   170588

Otros nombres de etiqueta interesantes, aunque el total de los mismos no sea tan elevado, son:

k                        Total
------------------    --------
natural                  87226
amenity                  60194
ele                      50802
emergency                15307
ref                      14785
barrier                  14498
building                 12605
shop                     10159
railway                   9619
religion                  9529
place                     7026
leisure                   6926
cuisine                   6401
tourism                   5795
location                  3478

 

Nodos de tipo ‘amenity’

Los nodos que tienen asociada una etiqueta ‘amenity’ representan lugares que ofrecen algún tipo de servicio. Los más frecuentes en la base de datos de California son:

k                        Total
------------------    --------
 place_of_worship        10012 
 school                   9047 
 restaurant               5805 
 fast_food                3556 
 post_box                 2411 
 fuel                     2215 
 toilets                  1992 
 cafe                     1940 
 bench                    1815 
 parking                  1811 
 fire_hydrant             1682 
 drinking_water           1296 
 post_office              1271 
 fire_station             1228 
 bank                     1114 
 library                  1076 
 bicycle_parking           960 
 hospital                  831

Resulta interesante observar que el primer puesto corresponde a lugares de culto. Según estos datos, en California hay diez lugares de culto por cada biblioteca.

Nodos de tipo ‘natural’

Los nodos con una etiqueta ‘natural’ representan accidentes geográficos naturales.

El total de cada uno de los valores asignados a la etiqueta ‘natural’ de los nodos de la base de datos OSM de California es:

v                  Total
--------------    ------
 tree              78240 
 peak               5965 
 spring              816 
 C3061               516 
 bay                 423 
 beach               258 
 wood                213 
 cliff               188 
 C3081                94 
 wetland              87 
 cave_entrance        62 

Nodos de tipo ‘tourism’

Los nodos con etiqueta ‘tourism’ señalan puntos de interés turístico:

v                       Total
--------------         ------
 information              986 
 picnic_site              954 
 camp_site                855 
 hotel                    685 
 viewpoint                600 
 attraction               487 
 motel                    410 
 museum                   396 
 artwork                  216 
 caravan_site              54 
 guest_house               27 
 hostel                    23 
 ruins                     19 
 theme_park                11

Como vemos, en esta categoría se encuentran tanto puntos de información turística, como lugares donde alojarse, y los puntos de interés turístico propiamente dichos: atracciones, museos, parques temáticos, etc.

Vias (Ways)

La base de datos OSM de California analizada contiene 2,504,072 vías.

Una vía es una secuencia ordenada de nodos, identificada de manera única mediante un identificador numérico.

Las vías se utilizan para indicar en el mapa límites administrativos, carreteras, ríos, etc.

Opcionalmente, una vía puede tener asociadas una serie de etiquetas que proporcionan información adicional sobre la misma.

Ejemplo:

  <way id="5939505" version="1" timestamp="2014-06-07T00:40:47Z"
       uid="7168" user="DaveHansenTiger" changeset="405748">
 <nd ref="48873189"/>
 <nd ref="48873196"/>
 <nd ref="48873197"/>
 <nd ref="48873198"/>
 <nd ref="48873199"/>
 <nd ref="48873200"/>
 <nd ref="48873202"/>
 <nd ref="48873203"/>
 <tag k="access" v="private"/>
 <tag k="highway" v="service"/>
 <tag k="tiger:cfcc" v="A74"/>
 <tag k="tiger:county" v="San Diego, CA"/>
 <tag k="tiger:reviewed" v="no"/>
 <tag k="tiger:source" v="tiger_import_dch_v0.6_20070809"/>
 <tag k="tiger:tlid" v="195727541"/>
 <tag k="tiger:upload_uuid" v="bulk_upload.pl-5dac241b-d144-4c9c-9e26-b4dec4590a61"/>
 </way>

En el ejemplo, podemos ver la definición de una vía que consta de ocho nodos. Al igual que ocurre con los nodos, la información administrativa se añade en forma de atributos version, changeset, etc del elemento <way>

Además, la vía tiene asociados varios tags que la identifican como una vía de servicio (k=”highway”, v=”service”) obtenida de la base de datos “tiger”. La via se encuentra en el condado de San Diego, y se denomina “A74”.

Etiquetas de vía (way tags)

En el ejemplo anterior, hemos visto que una calle es identificada mediante la etiqueta con nombre “highway” y valor “tertiary”.

Los nombres de etiquetas de vía más frecuentes en la base de datos OSM de California son:

k               Total
-------------   -------
source          1285196
highway         1087120
nhd:com_id       862429
gnis:fcode       862316
nhd:fdate        861714
nhd:reach_code   855447
gnis:ftype       839075
name             828578
waterway         825874
tiger:county     751448

Como vemos, “highway” es el nombre de etiqueta más frecuente, ya que se usa para identificar tanto carreteras como calles, caminos, senderos, y en general cualquier trayecto transitable. Aproximadamente un 30% de las vías tienen también un nombre asociado, y un número menor tienes asociadas otras características tales como la velocidad máxima, si es de sentido único, etc.

Además de los nombres de vía arriba indicados, otros nombres interesantes, aunque menos frecuentes, son:

 

k               Total
-------------   ------
natural          72802
bicycle          46157
lanes            44188
surface          40408
layer            34231
amenity          30206
leisure          29443
railway          21007
barrier          21001
cycleway         11057

 

Ways de tipo ‘highway’

v                 Total
--------------  --------
track           1999395
residential     1531966
service         1224840
footway          892080
path             623737
unclassified     282343
secondary        255685
tertiary         234708
primary          126334
steps            122780

Ways de tipo ‘natural’

v                Total
-------------   -------
water           186673
scrub           185633
wood             56066
wetland          16564
grassland        13556  
tree_row          9892
heath             7505
cliff             7187
sand              6242
beach             3096

Ways de tipo ‘waterway’

v                Total
--------------  ------
stream          205215
ditch           102561
drain            50116  
river            15808
canal             9013  
riverbank         7498
weir              2048
dam               1304

 

Relaciones

La base de datos OSM de California analizada contiene 17,391 relaciones.

Una relación permite agrupar en una entidad un conjunto de elementos. Normalmente, la relación tiene asociadas una serie de etiquetas que permiten asignarle un nombre, tipo, e información adicional. Al igual que los nodos y vías, cada relación está identificada de manera única por un identificador numérico.

Los miembros de la relación pueden ser vías, nodos, o incluso otras relaciones.

Ejemplo:

  <relation id="330949" version="34" timestamp="2014-06-06T16:43:52Z"
            uid="1376118" user="ChrisZontine" changeset="22778788">
 <member type="way" ref="185194137" role=""/>
 <member type="way" ref="39453306" role=""/>
 <member type="way" ref="39453324" role=""/>
 <member type="way" ref="10674649" role=""/>
 <member type="way" ref="10674650" role=""/>
 <member type="way" ref="10337936" role=""/>
...
  <member type="way" ref="10337938" role=""/>
 <member type="way" ref="119524633" role=""/>
 <tag k="network" v="US:CA"/>
 <tag k="ref" v="180"/>
 <tag k="route" v="road"/>
 <tag k="type" v="route"/>
 <tag k="wikipedia" v="en:California_State_Route_180"/>
 </relation>

En este ejemplo, podemos ver cómo aparece representada en la base de datos OSM la carretera estatal 180 de California:

  • El tag “type=route” identifica la relación como un trayecto, y el tag “route=road” indica que se trata de una carretera.
  • Los tags “network=US:CA” y “ref=180” la identifican como la carretera estatal 180 de California.
  • Por último, el tag “wikipedia” indica la URL de un artículo de wikipedia que trata sobre esta carretera.

Etiquetas de relación

Entre las etiquetas que se asocian habitualmente a una relación, está la etiqueta “type”. En la base de datos analizada, los valores que aparecen asignados a la etiqueta type son:

 type                         Total
--------------------------   --------
 multipolygon                   8472 
 restriction                    4867 
 route                          1905 
 site                            693 
 boundary                        551 
 public_transport                356 
 route_master                    183 
 destination_sign                 60 
...

Las relaciones de tipo “boundary” son las que definen las fronteras de regiones administrativas y políticas, áreas geográficas naturales, etc.

Todas las relaciones con la etiqueta “type=boundary” tienen también asociada una etiqueta “boundary=TIPO_DE_BOUNDARY”. Los totales de lo distintos valores asignados a la etiqueta “boundary”, por orden de mayor a menor, son:

 type                           Total
---------------------------   -------
 boundary:administrative         447 
 boundary:national_park           44 
 boundary:census                  28 
 boundary                         16 
 boundary:neighborhood            12 
 boundary:protected_area           3 
 boundary:aboriginal_lands         1

 Publicado por en 7:50 am

 Deja un comentario

(requerido)

(requerido)