Está en la página 1de 72

Sistemas de Informacin

Geogrfica
BD Espaciales y
BD Espacio-temporales
Miguel Rodrguez Luaces
Laboratorio de Bases de Datos
Universidade da Corua
Objetivo
Hemos descrito de modo terico y abstracto los campos
de SIG, SBGD espaciales y espacio-temporales
Ahora describiremos las herramientas que nos permite
implementar estos sistemas. En particular
Por dnde empezar?
Herramientas SIG comerciales
Sistemas gestores de bases de datos
Servicios web de informacin geogrfica
Clientes web de informacin geogrfica
Herramientas de escritorio
Libreras de desarrollo
Fuentes de informacin geogrfica

2/72
Por dnde empezar?
Free GIS [http://www.freegis.org]
355 componentes software, 25 fuentes de datos, 19
fuentes de documentacin y 10 proyectos
Clasificados por aplicacin, lenguaje, SO, licencia, etc.

3/72
Por dnde empezar?
Open Source GIS [http://www.opensourcegis.org/]
247 componentes software
Ahora mismo es slo una lista enorme de descripciones

4/72
Por dnde empezar?
Open Geospatial Consortium [http://www.opengeospatial.org]
Estndares para informacin geogrfica
Registro de productos que los cumplen

5/72
Por dnde empezar?
Open Source Geospatial Foundation [http://www.osgeo.org/]
Incubadora de proyectos
Captulo espaol

6/72
Herramientas SIG comerciales
ESRI ArcGIS [http://www.esri.com/]
El lder del mercado

7/72
Herramientas SIG comerciales
ESRI ArcGIS [http://www.esri.com/]
Conectores para bases de datos SFS
Oracle Spatial
PostGIS desde la versin 9.3
Soporte para otros SGBD
Access, Oracle, DB2, SQL Server, Informix
Servidores de datos
ArcSDE [ArcGIS Server]
ArcIMS
Soporte para estndares, pero con trabajo
Conectores para los servicios

8/72
Herramientas SIG comerciales
ESRI ArcGIS [http://www.esri.com/]
Mucha funcionalidad
Vectorial
Raster
Visor gratuito [ArcExplorer]
http://www.esri.com/software/arcexplorer/explorer.html
Creador del formato shapefile
Estandar de facto en sistemas de informacin geogrfica
Descripcin tcnica del formato publicada
Utilizado como formato de intercambio
Permite datos alfanumricos y geogrficos
No permite geometras de distintos tipos en un fichero

9/72
Herramientas SIG comerciales
Intergraph GeoMedia [http://www.intergraph.es]
El gran rival de ESRI

10/72
Herramientas SIG comerciales
Intergraph GeoMedia [http://www.intergraph.es]
Conectores para bases de datos SFS
Oracle Spatial
NO tiene soporte para PostGIS

Soporte para otras bases de datos


Access, SQL Server, DB2
Servidores de datos
Geomedia Web Map Professional
Mucha funcionalidad
Vectorial
Raster
Visor gratuito (Geomedia Viewer)
http://www.intergraph.es/Productos/GeoMedia/geomedia_viewer.asp

11/72
Herramientas SIG comerciales
Otras herramientas SIG
MapInfo [http://www.mapinfo.es]
AutoCAD Map 3D
Autodesk MapGuide
Microstation Geographics
Tienen las ventajas y los problemas de los productos
comerciales
Ventajas
Productos llave en mano
Soporte de una gran empresa
Problemas
El producto se vende en paquetes
El software es una caja negra
12/72
Sistemas gestores de bases de datos
Oracle Spatial [http://www.oracle.com/technology/products/spatial/]
Es una opcin para Oracle 11g

13/72
Sistemas gestores de bases de datos
Oracle Spatial [http://www.oracle.com/technology/products/spatial/]
Oracle 11-g incluye Oracle Locator
Funcionalidad
Tipos de datos y operadores (OGC y SQL/MM)
Sistemas de coordenadas
ndices espaciales
Oracle Spatial es una opcin adquirible por separado
Funcionalidad
Soporte para raster, topologa y redes
Clculo de rutas
Servicios web de publicacin de informacin

14/72
Sistemas gestores de bases de datos
PostGIS [http://www.postgis.org/]
Desarrollado por Refractions Research

15/72
Sistemas gestores de bases de datos
PostGIS [http://www.postgis.org/]
Extensin para PostgreSQL
Tipos de datos y operaciones para objetos geogrficos
basados en el modelo vectorial
Funcionalidad
Funciones de gestin
Creacin y borrado de tablas y columnas geomtricas
Gestin de sistemas de referencia espacial
Predicados espaciales
Dimension-Extended 9 Intersection Model
Operadores espaciales
Predicados espaciales usando el bounding box

16/72
Sistemas gestores de bases de datos
PostGIS [http://www.postgis.org/]
Funcionalidad (sigue)
Funciones de medicin
Funciones de utilidad
Comprobacin de validez geomtrica
Constructores de geometras
Operadores de acceso a las geometras
Operadores de edicin de geometras
Modificar las coordenadas
Transformacin de sistema de referencia espacial
Transformaciones afines (rotacin, desplazamiento, escalado)
Simplificacin

17/72
Sistemas gestores de bases de datos
PostGIS [http://www.postgis.org/]
Funcionalidad (sigue)
Conversin de formatos
Well-Know Text [WKT] y Extended WKT
Well-Know Binary [WKB] y Extended WKB
GML, KML y SVG (con precisin configurable)
Operaciones de SQL Multimedia
Importacin y exportacin de datos
shp2pgsql (de Shapefile a SQL)
pgsql2shp (de SQL a Shapefile)
Clases para utilizar en un driver JDBC

18/72
Sistemas gestores de bases de datos
PostGIS [http://www.postgis.org/]
Funcionalidad (sigue)
ndices espaciales
No todas las funciones del SQL hacen uso de los ndices
Ejemplo:

SELECT the_geom
FROM geom_table
WHERE
distance(
the_geom,
GeomFromText('POINT(100 200)', -1)
) < 10
La funcin distance no utiliza el ndice espacial, el planificador
resuelve la consulta como una bsqueda secuencial

19/72
Sistemas gestores de bases de datos
PostGIS [http://www.postgis.org/]
Funcionalidad (sigue)
ndices espaciales
Para que la consulta utilice el ndice podemos reescribirla:
SELECT the_geom
FROM geom_table
WHERE the_geom &&
'BOX3D(90 190, 110 210)'::box3d
AND distance(
the_geom,
GeomFromText('POINT(100 200)', -1)
) < 10
El planificador sabe que puede utilizar el ndice espacial para
evaluar la operacin &&, con lo que el nmero de tuplas que
deben ser analizadas secuencialmente es mucho menor

20/72
Sistemas gestores de bases de datos
PostGIS [http://www.postgis.org/]
Instalacin
En Windows:
Instalar Postgres sin instalar el PostGIS que viene integrado
Instalar PostGIS con su propio instalador
El instalador crea una plantilla (template_postgis) que hay que
usar para crear bases de datos con funcionalidad geogrfica
En Linux: (dos alternativas)
Encontrar un paquete apropiado para nuestra distribucin
Descargar y compilar PostGIS con el cdigo fuente de Postgres
Hay dos scripts (lwpostgis.sql y spatial_ref_sys.sql) que aaden
la funcionalidad geogrfica a una base de datos ya creada
Una BD con soporte espacial incluye:
Una tabla geometry_columns con metadatos de PostGIS
Una tabla spatial_ref_sys con los sistemas de referencia
21/72
Sistemas gestores de bases de datos
MySQL [http://www.mysql.com/]
Incluye soporte espacial de forma nativa

22/72
Sistemas gestores de bases de datos
MySQL [http://www.mysql.com/]
Funcionalidad [diferencias]
Funciones de gestin
Los tipos de datos geogrficos estn integrados en el lenguaje
No hay soporte para sistemas de referencia espacial
Predicados espaciales
Implementados usanfo el bounding box
Operadores espaciales y operadores de edicin
No implementados
Conversin de formatos
Slo Well-Know Text [WKT] y Well-Know Binary [WKB]
Importacin y exportacin de datos
Son necesarias herramientas externas

23/72
Sistemas gestores de bases de datos
SQLite [http://www.sqlite.org/]
Librera C que implementa un SGBD autocontenido
La base de datos se almacena en un fichero portable

24/72
Sistemas gestores de bases de datos
SpatiaLite y VirtualShape [http://www.gaia-gis.it/spatialite/]
Extensin para SQLite con funcionalidad geogrfica
Funcionalidad
Formatos de datos: WKT y WKB
Soporte para sistemas de referencia espacial
Construccin de geometras
Operaciones de acceso y medicin
Predicados espaciales calculados con el bounding box
Tansformaciones afines (rotacin, escalado y desplazamiento)
Importacin y exportacin de shapefiles
VirtualShape permite utilizar shapefiles directamente desde SQL

25/72
Servicios web de informacin geogrfica
UMN MapServer [http://mapserver.gis.umn.edu/]
El servicio web ms exitoso

26/72
Servicios web de informacin geogrfica
UMN MapServer [http://mapserver.gis.umn.edu/]
Lenguaje de implementacin: C++
Modos de empleo:
Como servicio web: CGI
Como librera: PHP, Python, Perl, Ruby, Java, y C#
Desarrollado para Unix. La instalacin en Windows es
complicada (cada vez menos)
Configuracin mediante ficheros de texto
El ms rpido y ligero

27/72
Servicios web de informacin geogrfica
UMN MapServer [http://mapserver.gis.umn.edu/]
Fuentes de datos
ESRI: Shapefiles, ArcSDE
SGBD: Oracle, PostGIS, MySQL
Muchos otros formatos (ver OGR)
Estndares soportados
WMS (cliente y servidor), WMC y SLD
WFS (no transaccional), Filter encoding
WCS
GML

28/72
Servicios web de informacin geogrfica
GeoServer [http://geoserver.org]
El ms fcil de instalar y configurar

29/72
Servicios web de informacin geogrfica
GeoServer [http://geoserver.org]
Lenguaje de implementacin: Java
Modo de empleo:
Como servicio web: aplicacin J2EE
Configuracin mediante interfaz de usuario
Rendimiento limitado: no es el ms rpido
Incluye OpenLayers como visor integrado
Genera mapas en muchos formatos
Google Earth: KML
PDF
SVG

30/72
Servicios web de informacin geogrfica
GeoServer [http://geoserver.org]
Fuentes de datos
Maduras: PostGIS, Shapefile, ArcSDE, DB2, Oracle
Soportadas: WFS, MySQL, MapInfo
Estndares soportados
WMS y SLD
WFS (transaccional), Filter encoding
WCS
GML

31/72
Servicios web de informacin geogrfica
Deegree [http://www.deegree.org/]
El ms completo

32/72
Servicios web de informacin geogrfica
Deegree [http://www.deegree.org/]
Lenguaje de implementacin: Java
Modo de empleo:
Como servicio web: aplicacin J2EE
Configuracin mediante ficheros y difcil
Buen rendimiento
Es el que implementa ms estndares del OGC
Incluye un GeoPortal como desarrollo propio
Tiene la peor documentacin

33/72
Servicios web de informacin geogrfica
Deegree [http://www.deegree.org/]
Fuentes de datos
SGBD: PostGIS, Oracle, SQL Genrico (SQL Server, DB2)
ESRI: Shapefile, ArcSDE
Estndares soportados
WMS y SLD
WFS (transaccional), Filter encoding
WCS
GML
CSW
Web Processing Service
Web Terrain Service / Web Perspective View Service

34/72
Servicios web de informacin geogrfica
MapGuide Open Source [http://mapguide.osgeo.org/]
Liberado por Autodesk (parte de su software comercial)

35/72
Servicios web de informacin geogrfica
MapGuide Open Source [http://mapguide.osgeo.org/]
Lenguaje de implementacin: C++
Modo de empleo:
Como servicio web: CGI
Como librera: PHP, Java, .Net
Ofrece clientes web listos para usar
Acceso a datos sobre la biblioteca FDO
ESRI: Shapefile, ArcSDE, MySQL, ODBC
GDAL / OGR
Cliente de WMS y WFS
Estndares soportados
WMS
WFS
36/72
Servicios web de informacin geogrfica
TileCache [http://www.tilecache.org/]
Implementacin de un WMS-C por MetaCarta

37/72
Servicios web de informacin geogrfica
TileCache [http://www.tilecache.org/]
Lenguaje de implementacin: Python
Modo de empleo:
Como servicio Web: CGI
Funcionalidad
En lugar de generar la imagen con cada peticin al WMS,
se almacena una cache de tiles
Para cada nivel de escala, se renderiza de antemano la
cartografa como un conjunto de celdas
TileCache actua como servicio WMS-C que puede ser
utilizado desde clientes que soporten el estndar

38/72
Servicios web de informacin geogrfica
FeatureServer [http://featureserver.org/]
Servidor de features desarrollado por MetaCarta

39/72
Servicios web de informacin geogrfica
FeatureServer [http://featureserver.org/]
Lenguaje de implementacin: Python
Modo de empleo:
Como servicio Web: CGI
Fuentes de datos:
SGBD: DBM, BerkeleyDB, PostGIS
Servicios: WFS
Otros: OGR (Shapefile, GML, etc.), Flickr
Servicios (entrada y salida)
Entrada y salida: JSON, GeoRSS, KML
Slo salida: HTML, WFS (GML), OpenStreetMap

40/72
Servicios web de informacin geogrfica
GeoNetwork [http://geonetwork-opensource.org/]
Catlogo de metadatos

41/72
Servicios web de informacin geogrfica
GeoNetwork [http://geonetwork-opensource.org/]
Lenguaje de implementacin: Java
Modo de empleo:
Como servicio web: aplicacin J2EE
Permite gestionar y publicar metadatos de nuestra
infraestructura de datos espaciales
Fuentes de datos
Estndares ISO de metadatos (ISO 19115 y 19139)

Otros estndares: FGDC (EE.UU.), Dublin Core

Estndares soportados
CSW de Open Geospatial Consortium

Open Search

Open Archive Initiative


42/72
Clientes web de informacin geogrfica
Chameleon [http://chameleon.maptools.org/]
Orientado a UMN MapServer

43/72
Clientes web de informacin geogrfica
Chameleon [http://chameleon.maptools.org/]
Lenguaje de desarrollo: PHP + Javascript
Diseo orientado a Widgets y utiliza AJAX
Baja actividad
Funcionamiento:
El interfaz de usuario se define en una plantilla HTML
<CWC2 TYPE="MapDHTML" VISIBLE="true" WIDTH="400" HEIGHT="300"
ALLOWRESIZE="true" MARQUEECOLOR="#FF3333" MARQUEEWIDTH="2"
MINSCALE="1"/>

La plantilla se procesa en una pgina PHP


$szTemplate = "./sample_basic.html";
$szMapFile = "../map/chameleon.map";
$oApp->CWCInitialize( $szTemplate, $szMapFile );
$oApp->CWCExecute();

44/72
Clientes web de informacin geogrfica
CartoWeb [http://www.cartoweb.org/]
Orientado a UMN MapServer

45/72
Clientes web de informacin geogrfica
CartoWeb [http://www.cartoweb.org/]
Lenguaje de desarrollo: PHP + Javascript
Arquitectura escalable (altamente modular)
Implementa un geoportal completo. Utiliza AJAX
Baja actividad

46/72
Clientes web de informacin geogrfica
Ka-Map [http://ka-map.maptools.org/]
Orientado a UMN MapServer

47/72
Clientes web de informacin geogrfica
Ka-Map [http://ka-map.maptools.org/]
Lenguaje de desarrollo: PHP + JavaScript
Uso de Tiling, PreCach y AJAX
Colaboracin con OpenLayers
Funcionamiento:
El interfaz de usuario se define una pgina HTML
La pgina realmente se genera con PHP, que se encarga
de cargar el mapa
El mapa se define en el formato de UMN MapServer
El menos dependiente de MapServer, pero necesita
adaptacin para hacerlo independiente

48/72
Clientes web de informacin geogrfica
OpenLayers [http://openlayers.org/]
Independiente del servidor

49/72
Clientes web de informacin geogrfica
OpenLayers [http://openlayers.org/]
Lenguaje de desarrollo: JavaScript
Utiliza AJAX, tiles, cache
Mucha actividad y sinergia con otros proyectos
Funcionamiento:
<html><head><title>OpenLayers Example</title>
<script src="OpenLayers.js"></script></head>
<body><div style="width:100%; height:100%" id="map"></div>
<script defer="defer" type="text/javascript">
var map = new OpenLayers.Map('map');
var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0",
{layers: 'basic'} );
map.addLayer(wms);
map.zoomToMaxExtent();
</script>
</body></html>

Cliente de: WMS, WFS, WMC, GeoRSS, KML, GeoJSON


50/72
Clientes web de informacin geogrfica
Community MapBuilder [http://communitymapbuilder.org/]
Independiente del servidor

51/72
Clientes web de informacin geogrfica
Community MapBuilder [http://communitymapbuilder.org/]
Lenguaje de desarrollo: JavaScript
Buena documentacin
Muy bien estructurado y extensible
Funcionamiento:
El interfaz de usuario es una pgina HTML con etiquetas
marcadas con ids especficos
Mediante JavaScript se carga un fichero XML de
configuracin que define el interfaz de usuario
El fichero referencia a un fichero WMC que define el mapa
Cliente: WMS, WFS, WMC, GeoRSS, GML, Google
Edicin sobre un WFS-T

52/72
Herramientas SIG de escritorio
gvSIG [http://www.gvsig.gva.es]
Desarrollo espaol

53/72
Herramientas SIG de escritorio
gvSIG [http://www.gvsig.gva.es]
Liderado por la Generalitat Valenciana
Lenguaje de desarrollo: Java
Desarrollo rpido y gran comunidad de usuarios
Mucha funcionalidad
Raster y vectorial
Edicin
Soporte de estndares
Buen diseo arquitectnico
Escasa documentacin tcnica

54/72
Herramientas SIG de escritorio
uDIG [http://udig.refractions.net/]
Desarrollo de Refractions Research (PostGIS)

55/72
Herramientas SIG de escritorio
uDIG [http://udig.refractions.net/]
Lenguaje de desarrollo: Java
Basado en Eclipse
Requerimientos hardware bastante elevados
Muy buena documentacin, pero en ingls
Gran comunidad de usuarios
Proyecto muy relacionado con Geotools y GeoServer,
comparten desarrolladores.

56/72
Herramientas SIG de escritorio
openJUMP [http://openjump.org]
El pionero

57/72
Herramientas SIG de escritorio
openJUMP [http://openjump.org]
Lenguaje de desarrollo: Java
Un buen punto de partida
Muy bien estructurado internamente
Fcil extensibilidad
Complejidad reducidad
La funcionalidad es limitada
Gran nmero de proyectos derivados:
Kosmo (espaol),
JUMP (el desarrollo original)
deeJUMP (de los creadores de deegree)

58/72
Herramientas SIG de escritorio
GRASS [http://grass.itc.it/]
El ms fuerte en anlisis raster

59/72
Herramientas SIG de escritorio
GRASS [http://grass.itc.it/]
Lenguaje de desarrollo: C++
Desarrollo en UNIX, su uso en Windows es complejo
Se apoya en GDAL/OGR y PROJ4
Orientado a lnea de comandos
Incluye mucha funcionalidad y documentacin
Anlisis 2D y 3D
Clculos sobre imgenes
Funcionalidad vectorial y SQL
El punto dbil siempre ha sido el interfaz de usuario y la
curva de aprendizaje

60/72
Herramientas SIG de escritorio
Quantum GIS [http://www.qgis.org/]
Lenguaje de desarrollo: C++
Pensado como la versin amigable de GRASS
SAGA GIS [http://www.saga-gis.uni-goettingen.de/]
Lenguaje de desarrollo: C++
Orientado principalmente a raster
Comunidad de usuarios escasa
MapWindow [http://www.mapwindow.com/]
Lenguaje de desarrollo: C++
Incluye un cliente de escritorio y un control ActiveX
Desarrollado para la plataforma .Net
Orientado al anlisis hidrolgico
61/72
Herramientas SIG de escritorio
Globos 3D
NASA WorldWind [http://worldwind.arc.nasa.gov/]
Lenguaje de desarrollo: C#
Utiliza informacin geogrfica libre en la visualizacin
Es software open source
Acaban de sacar un SDK en Java
Google Earth [http://earth.google.com]
Es la aplicacin referencia
Permite incluir nueva informacin (KML)
Ni la cartografa ni el software son libres

62/72
Herramientas SIG de escritorio
CatMDEdit [http://catmdedit.sourceforge.net/]
Desarrollo del consorcio TeIDE (Espaol)
Actualmente mantenido por la Universidad de Zaragoza y
GeoSLab
Editor de metadatos de escritorio
Soporta:
ISO 19115 - NEM

Dublin Core

CSDGM

Visor de tesauros incluido

63/72
Libreras de desarrollo
GeoTools [http://geotools.codehaus.org/]
Lenguaje de desarrollo: Java
Proyecto maduro
Mucha funcionalidad (datos, filtros, pintado, etc.)
Fuerte adherencia a estndares:
WFS, SLD, Filter Encoding
Soporte completo de formatos:
Vector: SHP, PostGIS, MySQL, Oracle, ArcSDE,
Geomedia, ...
Rster: GeoTIFF, ArcGrid, formatos GDAL,...

Utilizado por:
uDIG
GeoServer

64/72
Libreras de desarrollo
Java Topology Suite [http://tsusiatsoftware.net/jts/]
Lenguaje de desarrollo: Java
Implementacin del estndar SFS con objetos Java
Incluye funcionalidad adicional (ndices, poligonizacin)
Muy utilizado en otros proyectos
Java Conflation Suite [http://www.jump-project.org]
Lenguaje de desarrollo: Java
Librera para la combinacin datasets geoespaciales
GEOS [http://geos.refractions.net/]
Migracin de JTS a C++
Utilizado en PostGIS

65/72
Libreras de desarrollo
GDAL [http://www.gdal.org/]
Lenguaje de desarrollo: C++
Soporte raster:
50+ formatos: GeoTIFF, Erdas, ECW, MrSID, JPEG2000,
SDE,...
Utilizado como librera de acceso a datos en
Software libre: MapServer, Grass, QGIS, gvSIG
Software propietario: ArcGIS, Google Earth, FME, ...
Es la biblioteca geoespacial ms utilizada
OGR [http://www.gdal.org/ogr/]
Soporte Vectorial:
20+ formatos: SHP, ArcSDE, ESRI Personal geoDB, GML,
GPX, MapInfo, DGN, KML, Oracle Spatial, ...

66/72
Libreras de desarrollo
PROJ4 [http://proj.maptools.org/]
Lenguaje de desarrollo: C++
Soporte de sistemas de proyecccin
GDAL, MapServer, gvSIG, Grass, ...
FDO [http://fdo.osgeo.org/]
Lenguaje de desarrollo: C++
API acceso Rster y Vector de MapGuide Open Source
Soporte formatos:
ArcSDE, SHP, SDF, WMS, WFS, GDAL, mySQL, SQL
Server (beta).
Comunidad activa no exclusiva de Autodesk

67/72
Fuentes de informacin geogrfica
Infraestructura de Datos Espaciales de Espaa (IDEE)
http://www.idee.es/
Datos propios
Registro de servidores de Espaa
IDE de Galicia (SITGA)
http://sitga.xunta.es/
Servicios OGC (WMS y WFS
Datos descargables
IDE de A Corua (Deputacin da Corua)
http://www.dicoruna.es/webeiel
Cartografa de la provincia de A Corua
Servicios OGC (WMS, WFS, Nomencltor, CSW)
68/72
Fuentes de informacin geogrfica
Visible Earth Project [http://visibleearth.nasa.gov/]
Imgenes de satlite de la Tierra
Blue Marble: imgenes a 500 m/pixel
SRTM [http://www2.jpl.nasa.gov/srtm/]
Shuttle Radar Topography Mission
Datos de elevacin cada 90 m (aprox)
OpenStreetMap [http://www.openstreetmap.org/]
Aplicar el concepto Wiki a la informacin geogrfica
Hay herramientas de edicin, visualizacin y descarga
Geonames [http://www.geonames.org/]
Nomenclator (Gazetteer)
Listado de nombres de lugar con ubicaciones geogrficas
69/72
Conclusiones

70/72
Referencias
Esta presentacin contiene material extrado de:

Panorama actual del ecosistema de software libre para SIG


Miguel Montesinos, Jorge Gaspar Sanz
Prodevelop
mmontesinos@prodevelop.es, jsanz@prodevelop.es

Presentado en las II Jornadas de SIG Libre


http://www.sigte.udg.es/jornadassiglibre
http://www.sigte.udg.es/jornadassiglibre/uploads/file/Ponencias/P5.odp

71/72
Propiedad intelectual

72/72

También podría gustarte