SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
2000
WMS
1.1.0
OGC
2001
WMS
1.0.0
OGC
2002
SLD
1.1.0
OGC
2005
SLD
1.0.0
OGC
WMS
1.1.1
OGC
2006 2007 2010 2014 2015 2016
WMS
1.3.0
OGC
TMS
1.0.0
OSGeo
WMTS
1.0.0
OGC
XYZ
1.0.0
Google
2000
WFS
1.0.0
OGC
2011 2012 2013
WFS
2.0.2
OGC
VT
1.0.0
Mapbox
2001 2005
WFS
1.1.0
OGC
WFS
2.0.0
OGC
20102006 2007 2014 2015 2016
UTFGrid
1.0.0
Mapbox
UTFGrid
1.2.0
Mapbox
UTFGrid
1.3.0
Mapbox
VT
2.0.0
Mapbox
VT
2.1.0
Mapbox
RASTER
VECTOR
2002
2011 2012 2013
20??
WFS
3.0.0
OGC
WMS aspectos prácticos GetCapabilities
Permite descubrir cuáles son las capacidades del servidor. Como respuesta
obtenemos un archivo en formato xml donde se puede saber cuáles son las
versiones de WMS soportadas por el servidor, cuál es el sistema de referencia, las
coordenadas, qué formato de imagen soporta y las capas de información que
contiene.
Los parámetros para lanzar la petición:
obligatorios:
● REQUEST = GetCapabilities
● SERVICE = WMS
opcionales:
● VERSION = 1.1.1 (versión del estándar
WMS)
● FORMATO = text/html
http://geoserveis.icgc.cat/icc_mapesbase/wms/service?REQUEST=GetCapabilities&SERVICE=WMS
WMS aspectos prácticos GetCapabilities
Tamaño máximo de imágen
<Service>
<Name>icc_bt5m</Name>
<Title>
ICC - Base topogràfica de Catalunya 1:5 000 (BT-5M) - Capes WMS 96dpi
(píxel 0,26458333 mm)
</Title>
...
<MaxWidth>2048</MaxWidth>
<MaxHeight>2048</MaxHeight>
</Service>
http://geoserveis.icgc.cat/icc_mapesbase/wms/service?REQUEST=GetCapabilities&SERVICE=WMS
WMS aspectos prácticos GetCapabilities
OnlineResource
<GetMap>
<Format>image/jp2;subtype="gmljp2"</Format>
<Format>image/gif</Format>
<Format>image/png</Format>
<Format>image/bmp</Format>
<Format>image/jpeg</Format>
<Format>image/tiff</Format>
<DCPType>
<HTTP>
<Get>
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:href="http://shagrat.icc.cat/lizardtech/iserv/ows"
xlink:type="simple"/>
</Get>
</HTTP>
</DCPType>
</GetMap>
http://geoserveis.icgc.cat/icc_mapesbase/wms/service?REQUEST=GetCapabilities&SERVICE=WMS
WMS aspectos prácticos GetCapabilities
Layer
<Layer queryable="1">
<Name>02_ALTI_PA</Name>
<Title>[BT5M] (02) (x) ALTIMETRIA: talussos, marges (àrees)</Title>
<Abstract>02_ALTI_PA</Abstract>
<CRS>EPSG:25831</CRS>
<CRS>EPSG:4326</CRS>
<BoundingBox CRS="EPSG:25831" minx="254904.96" miny="4484796.89" maxx="530907.30" maxy="4749795.10"/>
...
<Style>
...
<LegendURL width="328" height="64">
<Format>image/png</Format>
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:href="http://geoserveis.icc.cat/icc_bt5m/wms/service?request=GetLegendGraphic%26version=1.3.0%26f
ormat=image/png%26layer=02_ALTI_PA" xlink:type="simple"/>
</LegendURL>
</Style>
<MinScaleDenominator>472.470238</MinScaleDenominator>
<MaxScaleDenominator>7087.053571</MaxScaleDenominator>
</Layer>
http://geoserveis.icgc.cat/icc_mapesbase/wms/service?REQUEST=GetCapabilities&SERVICE=WMS
WMS aspectos prácticos GetCapabilities
GetFeatureInfo
<GetFeatureInfo>
<Format>application/vnd.esri.wms_raw_xml</Format>
<Format>application/vnd.esri.wms_featureinfo_xml</Format>
<Format>application/vnd.ogc.wms_xml</Format>
<Format>text/xml</Format>
<Format>text/html</Format>
<Format>text/plain</Format>
<DCPType>
<HTTP>
<Get>
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:type="simple"
xlink:href="http://geoserveis.icc.cat/icc_bt5m/wms/service?"/
>
</Get>
</HTTP>
</DCPType>
</GetFeatureInfo>
http://geoserveis.icgc.cat/icc_mapesbase/wms/service?REQUEST=GetCapabilities&SERVICE=WMS
WMS aspectos prácticos GetMap
Petición GetMap devolverá un mapa en formato imagen, ya sea un PNG, JPEG, GIF, etc.
Los parámetros para lanzar la petición:
obligatorios:
● REQUEST = GetMap
● SERVICE = WMS
● VERSION = 1.1.1 (version del estándar WMS)
● LAYERS = nombre de la(s) capa(s)
● STYLES = si no hay estilo se puede dejar en blanco
● SRS ó CRS = 23031 (código EPSG del sistema de referencia) En la version 1.3.0 es CRS
● BBOX = minx,miny,maxx,maxy (caja de coordenadas del mapa)
● WIDTH = número píxeles de ancho
● HEIGHT = número píxeles de altura
● FORMATO = image/png (formato de salida de la imagen)
opcionales:
● TRANSPARENT = indica si el fondo del mapa debe ser transparente. Los valores son verdadero (true) o falso (false).
● BGCOLOR = color de fondo para la imagen del mapa. El valor está en la formato RRGGBB hexadecimal
● SLD = una URL que hace referencia a un archivo XML StyledLayerDescriptor que controla el estilo de las capas de mapa
http://geoserveis.icc.cat/icc_bt5m/wms/service?REQUEST=GetMap&SERVICE=WMS&VERSION=1.1.1&LAYERS=03_POBL_PA,04_PO
BL_PA,07_POBL_PA,08_VEGE_PA,12_POBL_PA,13_HIDR_PA,40_TOPO_TX&STYLES=&FORMAT=image/png&BGCOLOR=0xFFF
FFF&TRANSPARENT=TRUE&SRS=EPSG:25831&BBOX=426253,4581008,426753,4581508&WIDTH=500&HEIGHT=500
WMS aspectos prácticos GetFeatureInfo
Petición GetFeatureInfo sirve para mostrar los atributos de los objetos del mapa, vuelve la información en formato de tabla
o XML. Si una capa está marcada como “consultable” (queryable), se puede solicitar datos sobre una coordenada de la
imagen del mapa.
Los parámetros para lanzar la petición:
obligatorios:
● REQUEST = GetFeatureInfo
● SERVICE = WMS
● VERSION = 1.1.1 (versión del estándar WMS)
● QUERY_LAYERS = nombre de la(s) capa(s)
● STYLES = si no hay estilo se puede dejar en blanco
● SRS ó CRS = 23031 (código EPSG del sistema de referencia)
● BBOX = minx,miny,maxx,maxy (caja de coordenadas del mapa)
● WIDTH = número píxeles de ancho
● HEIGHT = número píxeles de altura
● X ó I = valor del píxel a consultar. En la 1.3.0 es i
● Y ó J = valor del píxel a consultar. En la 1.3.0 es j
opcionales:
● INFO_FORMAT = text/html (formato de la respuesta)
● FEATURE_COUNT = número máximo de elementos a devolver
http://geoserveis.icc.cat/icgc_bm5m/wms/service?REQUEST=GetFeatureInfo&SERVICE=WMS&VERSION=1.1.1&LAYERS=10_MUNICI
PI_PC&QUERY_LAYERS=10_MUNICIPI_PC&INFO_FORMAT=text/html&STYLES=&SRS=EPSG:25831&BBOX=257904,4484796,6803
04,4907196&WIDTH=768&HEIGHT=768&X=295&Y=580
WMS aspectos prácticos GetLegendGraphic
Petición que devuelve una imagen de la imagen de la leyenda del mapa de una capa, proporcionando una guía visual de los
elementos del mapa.
Los parámetros para lanzar la petición:
obligatorios:
● REQUEST = GetLegendGraphic
● LAYER = nombre de la capa
● FORMAT = image/png (formato de la respuesta)
opcionales:
● WIDTH = número píxeles de ancho
● HEIGHT = número píxeles de altura
http://wms.guifi.net/cgi-bin/mapserv?map=/home/guifi/maps.guifi.net/guifimaps/GMap.map&version=1.3.0&service=WMS&request=
GetLegendGraphic&sld_version=1.1.0&layer=Nodes&format=image/png&STYLE=default
WMS aspectos prácticos
Principales diferencias entre las versiones 1.1.1 y 1.3.0
● En la operación GetMap, el parámetro SRS se llama CRS en 1.3.0
● En la operación GetFeatureInfo, los parámetros X e Y se llaman I y J en 1.3.0.
● En 1.1.1, los sistemas de coordenadas geográficas especificados con el espacio de nombres EPSG
se definen para tener un orden de ejes de longitud / latitud. En 1.3.0 el orden es la latitud / longitud.
Por ejemplo, considere la solicitud WMS 1.1 utilizando el SRS WGS84 (EPSG: 4326):
server/wms?VERSION=1.1.1&REQUEST=GetMap&SRS=epsg:4326&BBOX=-180,-90,180,90&.
..
La solicitud equivalente WMS 1.3.0 es:
server/wms?VERSION=1.3.0&REQUEST=GetMap& CRS=epsg:4326&BBOX=-90,-180,90,180&..
.
WMS aspectos prácticos
Problemas comunes
● Tamaño de la imagen (pantallas grandes y/o de mucha resolución)
● Capas no visibles por el control de escala
● Capas no consultables
● Formato de salida del GetFeatureInfo
● No están pensados para peticiones teseladas (velocidad)
● No tienen caché. Las imágenes se generan al vuelo
● Lista restringida de SRS soportados
● En software de escritorio el onlineResource (QGis tiene la opción de ignorar el onlineResource )
● Modificar el estilo (SLD poco soportado)
● SLD difícil de entender y hacer
Pirámides de teselas
En 2005 GoogleMaps introdujo una "nueva" (quadtree) forma de mostrar datos geográficos por la web, pregenerando el
mapa por niveles de zoom y tiles (teselas) de 256x256 pixeles.
También creó una nueva proyección basada en mercator, llamada pseudo-mercator o web mercator, cuyo código EPSG es
3857
Pirámides de teselas
Para cargar las teselas se utiliza una llamada HTTP rest dónde se especifica;
https://.../.../z/x/y.format
z= Nivel de zoom
x=coordenada X
y=coordenada Y
Formato
Raster: Imágen png o JPEG
Vector: (pbf o mvt)
Diferencias entre teselas raster y teselas vectoriales
Teselas vectoriales (Vector Tiles) Teselas raster
Estilo se define en el cliente Estilo se define en el servidor
Sólo se necesita teselar la información una sola vez y se
pueden tener múltiples estilos de mapas
Hay que teselar la información para cada estilo de mapa
Overzoom se mantiene resolución Overzoom pierde resolución (pixelado)
Menor tamaño (se recomienda máximo 500kb) Más fáciles de consumir
Caché ocupa mucho menos espacio. Factible el uso en
dispositivos móviles sin conexión
Caché ocupa mucho espacio. Uso en dispositivos móviles
requiere mucho espacio de disco
Acceso nativo a la información del objeto (atributos y
geometría), lo que permite un procesamiento muy
sofisticado
Se ven mejor en dispositivos de alta resolución
Teselas vectoriales (Vector Tiles)
Las teselas vectoriales han sido utilizadas por el cliente Android de Google Maps desde diciembre de 2010 y en el cliente de
escritorio desde 2013. La especificación de teselas vectoriales se propuso por primera vez en marzo de 2013 por Mapbox.
Las teselas vectoriales son un formato de datos liviano para almacenar datos vectoriales geoespaciales, como puntos,
líneas y polígonos. Las teselas vectoriales codifican información geográfica de acuerdo con la especificación de teselas
vector de Mapbox. La especificación de Mapbox es un estándar abierto bajo una licencia Creative Commons Attribution 3.0
US.
Una tesela vectorial (vector tiles) contiene datos vectoriales georreferenciados (puede contener múltiples capas), recortados
en teselas para facilitar su recuperación. Son equivalentes a las teselas raster tradicionales (WMTS, TMS) pero retornan
datos vectoriales en lugar de una imagen.
Cada conjunto de teselas vectoriales tiene su propio esquema. Un esquema consiste en nombres de capas, atributos,
selección de elementos, etc.
No existe un esquema que sirva para todo. Existen varios esquemas como por ejemplo: OpenMapTiles, Mapbox Streets, etc.
Warning Las teselas vectoriales no son un formato de datos vectoriales estilo Shapefile, GeoJSON, etc. pensado para trabajar (hacer
análisis, explotación de datos, etc.) sino que está pensado y enfocado principalmente en la visualización.
Teselas vectoriales - Cómo están hechas por dentro
Las geometrías y los atributos se codifican como datos binarios de
Google Protobuf (PBF).
Codificar geometrías
Para codificar información geográfica en una tesela vectorial, una
herramienta debe convertir las coordenadas geográficas, como la
latitud y la longitud, en coordenadas vectoriales de cuadrículas. Las
teselas de vectoriales no tienen ningún concepto de información
geográfica. Codifican puntos, líneas y polígonos como pares x/y
relativos a la esquina superior izquierda de la cuadrícula de forma
descendente.
Las geometrías son transformadas a una sola tesela, con un
sistema de coordenadas de píxel local, que por defecto va de la
esquina superior izquierda (0,0) a la esquina inferior derecha
(4096,4096).
Teselas vectoriales - Cómo están hechas por dentro
Codificar atributos
Los atributos se codifican como un conjunto único de claves (algo
así como un esquema de campos de capa) y la lista de sus
valores.
Los atributos están codificados en una serie de etiquetas que
existen dentro de un elemento en el vector que tienen valores
enteros que hacen referencia a las claves y los valores que
provienen de la geometría. Esto elimina la redundancia de los
atributos para geometrías que tienen las mismas claves y valores
similares.
Teselas vectoriales - Ejemplos
Terreno - https://openicgc.github.io/icgc-catmaps.html
Teselas vectoriales - Ejemplos
Luces LA
Teselas vectoriales - Ejemplos
Edificios con música - https://codepen.io/jwhazel/pen/NYzpWG
Teselas vectoriales - Ejemplos
Temático filtro
Teselas vectoriales - Ejemplos
Filtrado al vuelo (utilizando Turf.js)
Teselas vectoriales - Ejemplos
Mapa de calor
Teselas vectoriales - Como servirlas datos “estáticos”
.osm.pbf Tilemaker
Studio
Classic
(desktop)
Studio
(web)
2.3 +
http://xxxxxx/{z}/{x}/{y}.pbf
Teselas vectoriales - Como servirlas datos “dinámicos”
Tegola
T-Rex http://xxxxxx/{z}/{x}/{y}.pbf
Ex. proxy
Node js
ST_AsMVT
Martin
Teselas vectoriales - aspectos prácticos
● No existe un “getCapabilities” ó similar. Hay servidores que tienen una página donde se pueden ver
los datos. Ej. tileserver-gl
● Al ser un formato vectorial y estándar se puede procesar y obtener la información de las capas,
elementos, etc.
● Capas no visibles por el control de escala.
● No existe un esquema que sirva para todo por lo tanto es recomendable publicar el esquema de los
datos.
● Difícil conocer el esquema de los datos (si no está publicado) para poder hacer un “buen mapa”.
● Hay esquemas públicos (Ej. OpenMapTiles) que se pueden usar como referencia a la hora de
publicar los datos.
● Estilos complejos para hacer un “buen mapa”.
● Etiquetas desaparecen por colisiones de etiquetas. https://blog.mapbox.com/whoops-whered-my-label-go-9aa58db2996
Resumen
● El WMS es una tecnología de casi 20 años
● Es importante entender el getCapabilities
● WMS no fué pensado para servicios teselados
● En nuevos proyectos utilizar Vector Tiles (aplicaciones con WebGL)
● En aplicaciones WebGL se puede combinar Vector Tiles con WMS
● Las teselas vectoriales no son un formato de datos que está pensado y
enfocado principalmente en la visualización.
● El proceso de publicar datos en Vector Tiles es similar al de WMS
● Publicar datos en Vector Tiles cuesta lo mismo o menos que en WMS
● Vector Tiles ofrece mucha más libertad de uso en el lado cliente
Enlaces de interés
Tutorial rápido Vector Tiles https://geoinquiets.github.io/vt-hackato-atm/
Tutorial avanzado Vector Tiles https://geoinquiets.github.io/taller-vt/
Ejemplos, estilos y datos Vector Tiles https://openicgc.github.io/
Especificación de Vector Tiles (Mapbox) https://docs.mapbox.com/vector-tiles/specification/
Especificación de estilo de Vector Tiles (Mapbox) https://docs.mapbox.com/mapbox-gl-js/style-spec/
Librería para trabajar con Vector Tiles (Mapbox) https://docs.mapbox.com/mapbox-gl-js/api/
Herramientas y recursos https://github.com/mapbox/awesome-vector-tiles
Preguntas
@bolosig bolosig@gmail.com

Weitere ähnliche Inhalte

Ähnlich wie Del wms al vector tiles

Georreferenciacion T.P.
Georreferenciacion T.P.Georreferenciacion T.P.
Georreferenciacion T.P.
suelosyaguas
 
Tarjetas Graficas
Tarjetas GraficasTarjetas Graficas
Tarjetas Graficas
klmnt
 

Ähnlich wie Del wms al vector tiles (20)

Conferencia ESRI 2014. Gestión de la componente geográfica del negocio median...
Conferencia ESRI 2014. Gestión de la componente geográfica del negocio median...Conferencia ESRI 2014. Gestión de la componente geográfica del negocio median...
Conferencia ESRI 2014. Gestión de la componente geográfica del negocio median...
 
Front-end Basics for Developers
Front-end Basics for DevelopersFront-end Basics for Developers
Front-end Basics for Developers
 
Visualizando Datos: la geolocalización como herramienta emergente de análisis...
Visualizando Datos: la geolocalización como herramienta emergente de análisis...Visualizando Datos: la geolocalización como herramienta emergente de análisis...
Visualizando Datos: la geolocalización como herramienta emergente de análisis...
 
2013 06 arc_gis_como_plataforma-canarias
2013 06 arc_gis_como_plataforma-canarias2013 06 arc_gis_como_plataforma-canarias
2013 06 arc_gis_como_plataforma-canarias
 
SESION 02 TIPOS DE GPS.pptx
SESION 02 TIPOS DE GPS.pptxSESION 02 TIPOS DE GPS.pptx
SESION 02 TIPOS DE GPS.pptx
 
Pathfinder manual1
Pathfinder manual1Pathfinder manual1
Pathfinder manual1
 
Tarjetas gráficas 2014
Tarjetas gráficas 2014Tarjetas gráficas 2014
Tarjetas gráficas 2014
 
Avances y Desarrollo del Servicio Geológico Minero Argentino en Cartografía D...
Avances y Desarrollo del Servicio Geológico Minero Argentino en Cartografía D...Avances y Desarrollo del Servicio Geológico Minero Argentino en Cartografía D...
Avances y Desarrollo del Servicio Geológico Minero Argentino en Cartografía D...
 
API REST de Geoservicios de Esri y los Servicios estándar OGC Clásicos - JIID...
API REST de Geoservicios de Esri y los Servicios estándar OGC Clásicos - JIID...API REST de Geoservicios de Esri y los Servicios estándar OGC Clásicos - JIID...
API REST de Geoservicios de Esri y los Servicios estándar OGC Clásicos - JIID...
 
S3_1.pdf
S3_1.pdfS3_1.pdf
S3_1.pdf
 
Integracion de layar con drupal
Integracion de layar con drupalIntegracion de layar con drupal
Integracion de layar con drupal
 
Poniendo a drupal en el mapa
Poniendo a drupal en el mapaPoniendo a drupal en el mapa
Poniendo a drupal en el mapa
 
ArcGIS_Nivel1.pdf
ArcGIS_Nivel1.pdfArcGIS_Nivel1.pdf
ArcGIS_Nivel1.pdf
 
Capitulo vi
Capitulo viCapitulo vi
Capitulo vi
 
Georreferenciacion T.P.
Georreferenciacion T.P.Georreferenciacion T.P.
Georreferenciacion T.P.
 
24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...
24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...
24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...
 
Publicación de datos geográficos en Internet
Publicación de datos geográficos en InternetPublicación de datos geográficos en Internet
Publicación de datos geográficos en Internet
 
ESRI - Cómo acercar la funcionalidad geográfica a toda la organización
ESRI - Cómo acercar la funcionalidad geográfica a toda la organización ESRI - Cómo acercar la funcionalidad geográfica a toda la organización
ESRI - Cómo acercar la funcionalidad geográfica a toda la organización
 
Tarjetas Graficas
Tarjetas GraficasTarjetas Graficas
Tarjetas Graficas
 
Tarjetas graficas-119672189840656-4
Tarjetas graficas-119672189840656-4Tarjetas graficas-119672189840656-4
Tarjetas graficas-119672189840656-4
 

Mehr von bolosig

Mehr von bolosig (9)

42a Geoinquiets, dijous 17 de març de 2016: El treball de camp en els mapes e...
42a Geoinquiets, dijous 17 de març de 2016: El treball de camp en els mapes e...42a Geoinquiets, dijous 17 de març de 2016: El treball de camp en els mapes e...
42a Geoinquiets, dijous 17 de març de 2016: El treball de camp en els mapes e...
 
És possible la innovació a l’administració?
És possible la innovació a l’administració?És possible la innovació a l’administració?
És possible la innovació a l’administració?
 
37a Geoinquiets, 29 de gener de 2015: Geofreelancing
37a Geoinquiets, 29 de gener de 2015: Geofreelancing37a Geoinquiets, 29 de gener de 2015: Geofreelancing
37a Geoinquiets, 29 de gener de 2015: Geofreelancing
 
Presentacio HistoriaDeBarcelona.org: Geolocalitzant la Història de la nostra ...
Presentacio HistoriaDeBarcelona.org: Geolocalitzant la Història de la nostra ...Presentacio HistoriaDeBarcelona.org: Geolocalitzant la Història de la nostra ...
Presentacio HistoriaDeBarcelona.org: Geolocalitzant la Història de la nostra ...
 
32a Geoinquiets - Integración de inteligencia colectiva y artificial en un si...
32a Geoinquiets - Integración de inteligencia colectiva y artificial en un si...32a Geoinquiets - Integración de inteligencia colectiva y artificial en un si...
32a Geoinquiets - Integración de inteligencia colectiva y artificial en un si...
 
Geomarketing
GeomarketingGeomarketing
Geomarketing
 
Geoinquiets 27a - Mapes antics escanejats, georeferenciats i publicats a Inte...
Geoinquiets 27a - Mapes antics escanejats, georeferenciats i publicats a Inte...Geoinquiets 27a - Mapes antics escanejats, georeferenciats i publicats a Inte...
Geoinquiets 27a - Mapes antics escanejats, georeferenciats i publicats a Inte...
 
Geoinquiets en las VII Jornadas SIG Libre Girona
Geoinquiets en las VII Jornadas SIG Libre GironaGeoinquiets en las VII Jornadas SIG Libre Girona
Geoinquiets en las VII Jornadas SIG Libre Girona
 
Making of geolocal
Making of geolocalMaking of geolocal
Making of geolocal
 

Kürzlich hochgeladen

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Kürzlich hochgeladen (15)

EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 

Del wms al vector tiles

  • 1.
  • 2. 2000 WMS 1.1.0 OGC 2001 WMS 1.0.0 OGC 2002 SLD 1.1.0 OGC 2005 SLD 1.0.0 OGC WMS 1.1.1 OGC 2006 2007 2010 2014 2015 2016 WMS 1.3.0 OGC TMS 1.0.0 OSGeo WMTS 1.0.0 OGC XYZ 1.0.0 Google 2000 WFS 1.0.0 OGC 2011 2012 2013 WFS 2.0.2 OGC VT 1.0.0 Mapbox 2001 2005 WFS 1.1.0 OGC WFS 2.0.0 OGC 20102006 2007 2014 2015 2016 UTFGrid 1.0.0 Mapbox UTFGrid 1.2.0 Mapbox UTFGrid 1.3.0 Mapbox VT 2.0.0 Mapbox VT 2.1.0 Mapbox RASTER VECTOR 2002 2011 2012 2013 20?? WFS 3.0.0 OGC
  • 3. WMS aspectos prácticos GetCapabilities Permite descubrir cuáles son las capacidades del servidor. Como respuesta obtenemos un archivo en formato xml donde se puede saber cuáles son las versiones de WMS soportadas por el servidor, cuál es el sistema de referencia, las coordenadas, qué formato de imagen soporta y las capas de información que contiene. Los parámetros para lanzar la petición: obligatorios: ● REQUEST = GetCapabilities ● SERVICE = WMS opcionales: ● VERSION = 1.1.1 (versión del estándar WMS) ● FORMATO = text/html http://geoserveis.icgc.cat/icc_mapesbase/wms/service?REQUEST=GetCapabilities&SERVICE=WMS
  • 4. WMS aspectos prácticos GetCapabilities Tamaño máximo de imágen <Service> <Name>icc_bt5m</Name> <Title> ICC - Base topogràfica de Catalunya 1:5 000 (BT-5M) - Capes WMS 96dpi (píxel 0,26458333 mm) </Title> ... <MaxWidth>2048</MaxWidth> <MaxHeight>2048</MaxHeight> </Service> http://geoserveis.icgc.cat/icc_mapesbase/wms/service?REQUEST=GetCapabilities&SERVICE=WMS
  • 5. WMS aspectos prácticos GetCapabilities OnlineResource <GetMap> <Format>image/jp2;subtype="gmljp2"</Format> <Format>image/gif</Format> <Format>image/png</Format> <Format>image/bmp</Format> <Format>image/jpeg</Format> <Format>image/tiff</Format> <DCPType> <HTTP> <Get> <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://shagrat.icc.cat/lizardtech/iserv/ows" xlink:type="simple"/> </Get> </HTTP> </DCPType> </GetMap> http://geoserveis.icgc.cat/icc_mapesbase/wms/service?REQUEST=GetCapabilities&SERVICE=WMS
  • 6. WMS aspectos prácticos GetCapabilities Layer <Layer queryable="1"> <Name>02_ALTI_PA</Name> <Title>[BT5M] (02) (x) ALTIMETRIA: talussos, marges (àrees)</Title> <Abstract>02_ALTI_PA</Abstract> <CRS>EPSG:25831</CRS> <CRS>EPSG:4326</CRS> <BoundingBox CRS="EPSG:25831" minx="254904.96" miny="4484796.89" maxx="530907.30" maxy="4749795.10"/> ... <Style> ... <LegendURL width="328" height="64"> <Format>image/png</Format> <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://geoserveis.icc.cat/icc_bt5m/wms/service?request=GetLegendGraphic%26version=1.3.0%26f ormat=image/png%26layer=02_ALTI_PA" xlink:type="simple"/> </LegendURL> </Style> <MinScaleDenominator>472.470238</MinScaleDenominator> <MaxScaleDenominator>7087.053571</MaxScaleDenominator> </Layer> http://geoserveis.icgc.cat/icc_mapesbase/wms/service?REQUEST=GetCapabilities&SERVICE=WMS
  • 7. WMS aspectos prácticos GetCapabilities GetFeatureInfo <GetFeatureInfo> <Format>application/vnd.esri.wms_raw_xml</Format> <Format>application/vnd.esri.wms_featureinfo_xml</Format> <Format>application/vnd.ogc.wms_xml</Format> <Format>text/xml</Format> <Format>text/html</Format> <Format>text/plain</Format> <DCPType> <HTTP> <Get> <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://geoserveis.icc.cat/icc_bt5m/wms/service?"/ > </Get> </HTTP> </DCPType> </GetFeatureInfo> http://geoserveis.icgc.cat/icc_mapesbase/wms/service?REQUEST=GetCapabilities&SERVICE=WMS
  • 8. WMS aspectos prácticos GetMap Petición GetMap devolverá un mapa en formato imagen, ya sea un PNG, JPEG, GIF, etc. Los parámetros para lanzar la petición: obligatorios: ● REQUEST = GetMap ● SERVICE = WMS ● VERSION = 1.1.1 (version del estándar WMS) ● LAYERS = nombre de la(s) capa(s) ● STYLES = si no hay estilo se puede dejar en blanco ● SRS ó CRS = 23031 (código EPSG del sistema de referencia) En la version 1.3.0 es CRS ● BBOX = minx,miny,maxx,maxy (caja de coordenadas del mapa) ● WIDTH = número píxeles de ancho ● HEIGHT = número píxeles de altura ● FORMATO = image/png (formato de salida de la imagen) opcionales: ● TRANSPARENT = indica si el fondo del mapa debe ser transparente. Los valores son verdadero (true) o falso (false). ● BGCOLOR = color de fondo para la imagen del mapa. El valor está en la formato RRGGBB hexadecimal ● SLD = una URL que hace referencia a un archivo XML StyledLayerDescriptor que controla el estilo de las capas de mapa http://geoserveis.icc.cat/icc_bt5m/wms/service?REQUEST=GetMap&SERVICE=WMS&VERSION=1.1.1&LAYERS=03_POBL_PA,04_PO BL_PA,07_POBL_PA,08_VEGE_PA,12_POBL_PA,13_HIDR_PA,40_TOPO_TX&STYLES=&FORMAT=image/png&BGCOLOR=0xFFF FFF&TRANSPARENT=TRUE&SRS=EPSG:25831&BBOX=426253,4581008,426753,4581508&WIDTH=500&HEIGHT=500
  • 9. WMS aspectos prácticos GetFeatureInfo Petición GetFeatureInfo sirve para mostrar los atributos de los objetos del mapa, vuelve la información en formato de tabla o XML. Si una capa está marcada como “consultable” (queryable), se puede solicitar datos sobre una coordenada de la imagen del mapa. Los parámetros para lanzar la petición: obligatorios: ● REQUEST = GetFeatureInfo ● SERVICE = WMS ● VERSION = 1.1.1 (versión del estándar WMS) ● QUERY_LAYERS = nombre de la(s) capa(s) ● STYLES = si no hay estilo se puede dejar en blanco ● SRS ó CRS = 23031 (código EPSG del sistema de referencia) ● BBOX = minx,miny,maxx,maxy (caja de coordenadas del mapa) ● WIDTH = número píxeles de ancho ● HEIGHT = número píxeles de altura ● X ó I = valor del píxel a consultar. En la 1.3.0 es i ● Y ó J = valor del píxel a consultar. En la 1.3.0 es j opcionales: ● INFO_FORMAT = text/html (formato de la respuesta) ● FEATURE_COUNT = número máximo de elementos a devolver http://geoserveis.icc.cat/icgc_bm5m/wms/service?REQUEST=GetFeatureInfo&SERVICE=WMS&VERSION=1.1.1&LAYERS=10_MUNICI PI_PC&QUERY_LAYERS=10_MUNICIPI_PC&INFO_FORMAT=text/html&STYLES=&SRS=EPSG:25831&BBOX=257904,4484796,6803 04,4907196&WIDTH=768&HEIGHT=768&X=295&Y=580
  • 10. WMS aspectos prácticos GetLegendGraphic Petición que devuelve una imagen de la imagen de la leyenda del mapa de una capa, proporcionando una guía visual de los elementos del mapa. Los parámetros para lanzar la petición: obligatorios: ● REQUEST = GetLegendGraphic ● LAYER = nombre de la capa ● FORMAT = image/png (formato de la respuesta) opcionales: ● WIDTH = número píxeles de ancho ● HEIGHT = número píxeles de altura http://wms.guifi.net/cgi-bin/mapserv?map=/home/guifi/maps.guifi.net/guifimaps/GMap.map&version=1.3.0&service=WMS&request= GetLegendGraphic&sld_version=1.1.0&layer=Nodes&format=image/png&STYLE=default
  • 11. WMS aspectos prácticos Principales diferencias entre las versiones 1.1.1 y 1.3.0 ● En la operación GetMap, el parámetro SRS se llama CRS en 1.3.0 ● En la operación GetFeatureInfo, los parámetros X e Y se llaman I y J en 1.3.0. ● En 1.1.1, los sistemas de coordenadas geográficas especificados con el espacio de nombres EPSG se definen para tener un orden de ejes de longitud / latitud. En 1.3.0 el orden es la latitud / longitud. Por ejemplo, considere la solicitud WMS 1.1 utilizando el SRS WGS84 (EPSG: 4326): server/wms?VERSION=1.1.1&REQUEST=GetMap&SRS=epsg:4326&BBOX=-180,-90,180,90&. .. La solicitud equivalente WMS 1.3.0 es: server/wms?VERSION=1.3.0&REQUEST=GetMap& CRS=epsg:4326&BBOX=-90,-180,90,180&.. .
  • 12. WMS aspectos prácticos Problemas comunes ● Tamaño de la imagen (pantallas grandes y/o de mucha resolución) ● Capas no visibles por el control de escala ● Capas no consultables ● Formato de salida del GetFeatureInfo ● No están pensados para peticiones teseladas (velocidad) ● No tienen caché. Las imágenes se generan al vuelo ● Lista restringida de SRS soportados ● En software de escritorio el onlineResource (QGis tiene la opción de ignorar el onlineResource ) ● Modificar el estilo (SLD poco soportado) ● SLD difícil de entender y hacer
  • 13. Pirámides de teselas En 2005 GoogleMaps introdujo una "nueva" (quadtree) forma de mostrar datos geográficos por la web, pregenerando el mapa por niveles de zoom y tiles (teselas) de 256x256 pixeles. También creó una nueva proyección basada en mercator, llamada pseudo-mercator o web mercator, cuyo código EPSG es 3857
  • 14. Pirámides de teselas Para cargar las teselas se utiliza una llamada HTTP rest dónde se especifica; https://.../.../z/x/y.format z= Nivel de zoom x=coordenada X y=coordenada Y Formato Raster: Imágen png o JPEG Vector: (pbf o mvt)
  • 15. Diferencias entre teselas raster y teselas vectoriales Teselas vectoriales (Vector Tiles) Teselas raster Estilo se define en el cliente Estilo se define en el servidor Sólo se necesita teselar la información una sola vez y se pueden tener múltiples estilos de mapas Hay que teselar la información para cada estilo de mapa Overzoom se mantiene resolución Overzoom pierde resolución (pixelado) Menor tamaño (se recomienda máximo 500kb) Más fáciles de consumir Caché ocupa mucho menos espacio. Factible el uso en dispositivos móviles sin conexión Caché ocupa mucho espacio. Uso en dispositivos móviles requiere mucho espacio de disco Acceso nativo a la información del objeto (atributos y geometría), lo que permite un procesamiento muy sofisticado Se ven mejor en dispositivos de alta resolución
  • 16. Teselas vectoriales (Vector Tiles) Las teselas vectoriales han sido utilizadas por el cliente Android de Google Maps desde diciembre de 2010 y en el cliente de escritorio desde 2013. La especificación de teselas vectoriales se propuso por primera vez en marzo de 2013 por Mapbox. Las teselas vectoriales son un formato de datos liviano para almacenar datos vectoriales geoespaciales, como puntos, líneas y polígonos. Las teselas vectoriales codifican información geográfica de acuerdo con la especificación de teselas vector de Mapbox. La especificación de Mapbox es un estándar abierto bajo una licencia Creative Commons Attribution 3.0 US. Una tesela vectorial (vector tiles) contiene datos vectoriales georreferenciados (puede contener múltiples capas), recortados en teselas para facilitar su recuperación. Son equivalentes a las teselas raster tradicionales (WMTS, TMS) pero retornan datos vectoriales en lugar de una imagen. Cada conjunto de teselas vectoriales tiene su propio esquema. Un esquema consiste en nombres de capas, atributos, selección de elementos, etc. No existe un esquema que sirva para todo. Existen varios esquemas como por ejemplo: OpenMapTiles, Mapbox Streets, etc. Warning Las teselas vectoriales no son un formato de datos vectoriales estilo Shapefile, GeoJSON, etc. pensado para trabajar (hacer análisis, explotación de datos, etc.) sino que está pensado y enfocado principalmente en la visualización.
  • 17. Teselas vectoriales - Cómo están hechas por dentro Las geometrías y los atributos se codifican como datos binarios de Google Protobuf (PBF). Codificar geometrías Para codificar información geográfica en una tesela vectorial, una herramienta debe convertir las coordenadas geográficas, como la latitud y la longitud, en coordenadas vectoriales de cuadrículas. Las teselas de vectoriales no tienen ningún concepto de información geográfica. Codifican puntos, líneas y polígonos como pares x/y relativos a la esquina superior izquierda de la cuadrícula de forma descendente. Las geometrías son transformadas a una sola tesela, con un sistema de coordenadas de píxel local, que por defecto va de la esquina superior izquierda (0,0) a la esquina inferior derecha (4096,4096).
  • 18. Teselas vectoriales - Cómo están hechas por dentro Codificar atributos Los atributos se codifican como un conjunto único de claves (algo así como un esquema de campos de capa) y la lista de sus valores. Los atributos están codificados en una serie de etiquetas que existen dentro de un elemento en el vector que tienen valores enteros que hacen referencia a las claves y los valores que provienen de la geometría. Esto elimina la redundancia de los atributos para geometrías que tienen las mismas claves y valores similares.
  • 19. Teselas vectoriales - Ejemplos Terreno - https://openicgc.github.io/icgc-catmaps.html
  • 20. Teselas vectoriales - Ejemplos Luces LA
  • 21. Teselas vectoriales - Ejemplos Edificios con música - https://codepen.io/jwhazel/pen/NYzpWG
  • 22. Teselas vectoriales - Ejemplos Temático filtro
  • 23. Teselas vectoriales - Ejemplos Filtrado al vuelo (utilizando Turf.js)
  • 24. Teselas vectoriales - Ejemplos Mapa de calor
  • 25. Teselas vectoriales - Como servirlas datos “estáticos” .osm.pbf Tilemaker Studio Classic (desktop) Studio (web) 2.3 + http://xxxxxx/{z}/{x}/{y}.pbf
  • 26. Teselas vectoriales - Como servirlas datos “dinámicos” Tegola T-Rex http://xxxxxx/{z}/{x}/{y}.pbf Ex. proxy Node js ST_AsMVT Martin
  • 27. Teselas vectoriales - aspectos prácticos ● No existe un “getCapabilities” ó similar. Hay servidores que tienen una página donde se pueden ver los datos. Ej. tileserver-gl ● Al ser un formato vectorial y estándar se puede procesar y obtener la información de las capas, elementos, etc. ● Capas no visibles por el control de escala. ● No existe un esquema que sirva para todo por lo tanto es recomendable publicar el esquema de los datos. ● Difícil conocer el esquema de los datos (si no está publicado) para poder hacer un “buen mapa”. ● Hay esquemas públicos (Ej. OpenMapTiles) que se pueden usar como referencia a la hora de publicar los datos. ● Estilos complejos para hacer un “buen mapa”. ● Etiquetas desaparecen por colisiones de etiquetas. https://blog.mapbox.com/whoops-whered-my-label-go-9aa58db2996
  • 28. Resumen ● El WMS es una tecnología de casi 20 años ● Es importante entender el getCapabilities ● WMS no fué pensado para servicios teselados ● En nuevos proyectos utilizar Vector Tiles (aplicaciones con WebGL) ● En aplicaciones WebGL se puede combinar Vector Tiles con WMS ● Las teselas vectoriales no son un formato de datos que está pensado y enfocado principalmente en la visualización. ● El proceso de publicar datos en Vector Tiles es similar al de WMS ● Publicar datos en Vector Tiles cuesta lo mismo o menos que en WMS ● Vector Tiles ofrece mucha más libertad de uso en el lado cliente
  • 29. Enlaces de interés Tutorial rápido Vector Tiles https://geoinquiets.github.io/vt-hackato-atm/ Tutorial avanzado Vector Tiles https://geoinquiets.github.io/taller-vt/ Ejemplos, estilos y datos Vector Tiles https://openicgc.github.io/ Especificación de Vector Tiles (Mapbox) https://docs.mapbox.com/vector-tiles/specification/ Especificación de estilo de Vector Tiles (Mapbox) https://docs.mapbox.com/mapbox-gl-js/style-spec/ Librería para trabajar con Vector Tiles (Mapbox) https://docs.mapbox.com/mapbox-gl-js/api/ Herramientas y recursos https://github.com/mapbox/awesome-vector-tiles