Python GIS/Mapping     09/06/2011     Oficinas O2C        Madrid    Python-Madrid
DisclaimerNo me hago responsable de los datos erróneos contenidos enesta presentación. Soy eterno aprendiz en muchas de es...
Proyecciones y sistemas de               coordenadas• La tierra no es plana, es tridimensional. La pantalla  de tu PC es p...
Proyecciones y sistemas de      coordenadas
Proyecciones y sistemas de               coordenadas• Proyecciones  – Las más extendidas son:      • Azimutal (ejemplos so...
Proyecciones y sistemas de               coordenadas• Proyecciones  – Las más extendidas son:      • Azimutal (ejemplos so...
Proyecciones y sistemas de               coordenadas• Proyecciones  – Las más extendidas son:      • Azimutal (ejemplos so...
Proyecciones y sistemas de               coordenadas• Datum y esferoide  – Un datum es un modelo para representar las coor...
Proyecciones      • PyProj (wrapper para PROJ.4)      http://code.google.com/p/pyproj/      Sirve para hacer transformacio...
IO ficheros Raster y vectoriales• OGR y sus python bindings: sirve para trabajar  (leer y escribir) con ficheros con infor...
Vectoriales   • Shapefile : Tres ficheros        – shp – contiene las características espaciales,        – dbf – contiene ...
Vectoriales• Shapely (wrapper a GEOS)  -Sirve para trabajar con  geometrías 2Dhttp://trac.gispython.org/lab/wiki/Shapely
Raster• http://trac.osgeo.org/geotiff/ (puede llevar  asociado un fichero *.tfw)• JPG (lleva asociado un fichero *.jgw)• P...
Visualización• Matplotlib u otros (http://python.majibu.org/preguntas/713/que-  me-aconsejais-para-realizar-graficos-desde...
BBDD ‘espaciales’• Para qué son útiles…  – E.g., ‘dame todos los bares que están en un radio    de 10km de mi casa y que s...
BBDD ‘espaciales’• MySQL (tiene capacidades espaciales de serie)• PostGIS (es una extensión a PostgreSQL)http://postgis.re...
Web Frameworks / Web Services• A grandes rasgos lo que se pretende es una  aplicación web haciendo algo como esto:
Mash-Up Geoespacial• Un ‘Mash-Up’ es una aplicación que combina  datos y funcionalidades provenientes de  varias fuentes.M...
Web Frameworks / Web Services• WMS (Web Map Services)• WFS (Web Feature Services)• TMS (Tile Map Service)  – http://tileca...
Web Frameworks / Web Services• Librerias UI  – OpenLayers  http://openlayers.org/  - Mapiator  http://pdietrich.github.com...
Web Frameworks / Web Services• Django + GeoDjangohttps://www.djangoproject.com/http://geodjango.org/• Pylons (Pyramid) + M...
Referencias•   http://gispython.org/•   http://www.gis.usu.edu/~chrisg/python/2009/•   http://www.slideshare.net/kikocorre...
Agradecimientos• Gracias a O2C por ceder sus oficinas para  estas charlas de:                 Python-Madrid
Upcoming SlideShare
Loading in …5
×

Python gis mapping

1,894 views

Published on

Charla de python-Madrid sobre GIS en las oficinas de O2C (Madrid) el 09/06/2011.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,894
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
49
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Python gis mapping

  1. 1. Python GIS/Mapping 09/06/2011 Oficinas O2C Madrid Python-Madrid
  2. 2. DisclaimerNo me hago responsable de los datos erróneos contenidos enesta presentación. Soy eterno aprendiz en muchas de estascosas.Si ves que puedes aportar alguna mejora, deja un comentariomás abajo para así poder mejorar el documento. Gracias.
  3. 3. Proyecciones y sistemas de coordenadas• La tierra no es plana, es tridimensional. La pantalla de tu PC es plana, los planos son planos,…Existe la necesidad de representar información tridimensional en un plano ---> DistorsiónPara resolver esto se usan proyeccionesPero es imposible mantener distancias, áreas, formas y direcciones todo a la vez. Por tanto, dependiendo de nuestro problema una proyección será más apropiada que otra.
  4. 4. Proyecciones y sistemas de coordenadas
  5. 5. Proyecciones y sistemas de coordenadas• Proyecciones – Las más extendidas son: • Azimutal (ejemplos son la Ortográfica, Estereográfica, Gnomonic, Azimutal ‘Equal Distant’ y Lambert Azimutal ‘Equal Area’)
  6. 6. Proyecciones y sistemas de coordenadas• Proyecciones – Las más extendidas son: • Azimutal (ejemplos son la Ortográfica, Estereográfica, Gnomonic, Azimutal ‘Equal Distant’ y Lambert Azimutal ‘Equal Area’) • Cónica (ejemplos son la Albers Equal Area, Lambert Conformal, Cónica Equidistante y la Cónica Policónica)
  7. 7. Proyecciones y sistemas de coordenadas• Proyecciones – Las más extendidas son: • Azimutal (ejemplos son la Ortográfica, Estereográfica, Gnomonic, Azimutal ‘Equal Distant’ y Lambert Azimutal ‘Equal Area’) • Cónica (ejemplos son la Albers Equal Area, Lambert Conformal, Cónica Equidistante y la Cónica Policónica) • Cilíndrica (ejemplos son la Mercator, Transversal de Mercator, Oblicua de Mercator, Cilindrica de Miller (*) resumen interesante sobre proyecciones en: http://erg.usgs.gov/isb/pubs/MapProjections/projections.pdf
  8. 8. Proyecciones y sistemas de coordenadas• Datum y esferoide – Un datum es un modelo para representar las coordenadas de un punto sobre la tierra (ejemplos son el NAD27, NAD83, WGS84, ED50,…)
  9. 9. Proyecciones • PyProj (wrapper para PROJ.4) http://code.google.com/p/pyproj/ Sirve para hacer transformaciones de coordenadasimport pyprojUTM_X = 565718.523517UTM_Y = 3980998.9244srcProj = pyproj.Proj(proj="utm", zone="11",ellps="clrk66", units="m")dstProj = pyproj.Proj(proj=longlat, ellps=WGS84, datum=WGS84)long,lat = pyproj.transform(srcProj, dstProj, UTM_X, UTM_Y)print "UTM zone 17 coordinate (%0.4f, %0.4f) = %0.4f, %0.4f" %(UTM_X, UTM_Y, lat, long)
  10. 10. IO ficheros Raster y vectoriales• OGR y sus python bindings: sirve para trabajar (leer y escribir) con ficheros con información vectorial http://www.gdal.org/ogr/index.html• GDAL y sus python bindings: sirve para trabajar (leer y escribir) con ficheros con información raster (http://www.gdal.org/)• http://pypi.python.org/pypi/GDAL/1.7.1 (OGR viene con GDAL)
  11. 11. Vectoriales • Shapefile : Tres ficheros – shp – contiene las características espaciales, – dbf – contiene los atributos, – shx – índice que permite acceso aleatorio a las características del shp) – Puede haber otros ficheros (sbx, sbn, qix, prj)import osgeo.ogrshapefile = osgeo.ogr.Open(“Fichero.shp")layer = shapefile.GetLayer(0)feature = layer.GetFeature(0)attributes = feature.items() http://openlayers.org/dev/examples/draw-feature.html
  12. 12. Vectoriales• Shapely (wrapper a GEOS) -Sirve para trabajar con geometrías 2Dhttp://trac.gispython.org/lab/wiki/Shapely
  13. 13. Raster• http://trac.osgeo.org/geotiff/ (puede llevar asociado un fichero *.tfw)• JPG (lleva asociado un fichero *.jgw)• PNG (lleva asociado un fichero *.pgw)Los ficheros asociados se les conoce como ‘world file’ y llevan info de las unidades del mapa por pixel y la posición de la esquina superior izquierda (sistema de coordenadas, proyección,…). http://en.wikipedia.org/wiki/World_file
  14. 14. Visualización• Matplotlib u otros (http://python.majibu.org/preguntas/713/que- me-aconsejais-para-realizar-graficos-desde-tablas?page=1#721)• Mapnik (C++/python)http://mapnik.org/faq/
  15. 15. BBDD ‘espaciales’• Para qué son útiles… – E.g., ‘dame todos los bares que están en un radio de 10km de mi casa y que sirvan tapa y las cervezas sean baratas’. – Y para cosas ¿más serias? Es decir, están especialmente preparadas para cosas relacionadas con peticiones espaciales, transformaciones de coordenadas ‘al vuelo’,…
  16. 16. BBDD ‘espaciales’• MySQL (tiene capacidades espaciales de serie)• PostGIS (es una extensión a PostgreSQL)http://postgis.refractions.net/• SpatiaLite (es una extensión a SQLite)http://gaia-gis.it/spatialite/• Oracle Spatial (extensiónde Oracle)• MS SQL Server
  17. 17. Web Frameworks / Web Services• A grandes rasgos lo que se pretende es una aplicación web haciendo algo como esto:
  18. 18. Mash-Up Geoespacial• Un ‘Mash-Up’ es una aplicación que combina datos y funcionalidades provenientes de varias fuentes.Muy popular es usar googlemaps pero no es la única que se puede usar. Hay alternativas FOSS como openlayers (javascript), mapnik (python/C++), MapServer
  19. 19. Web Frameworks / Web Services• WMS (Web Map Services)• WFS (Web Feature Services)• TMS (Tile Map Service) – http://tilecache.org/ – http://wiki.openstreetmap.org/wiki/Mod_tile – https://bitbucket.org/springmeyer/tilelite/wiki/Ho me
  20. 20. Web Frameworks / Web Services• Librerias UI – OpenLayers http://openlayers.org/ - Mapiator http://pdietrich.github.com/mapiator/
  21. 21. Web Frameworks / Web Services• Django + GeoDjangohttps://www.djangoproject.com/http://geodjango.org/• Pylons (Pyramid) + MapFishhttp://pylonsproject.org/http://mapfish.org/• TurboGears + tgext.geohttp://turbogears.org/http://turbogears.org/2.1/docs/main/Extensions/Geo/index.html
  22. 22. Referencias• http://gispython.org/• http://www.gis.usu.edu/~chrisg/python/2009/• http://www.slideshare.net/kikocorreoso/python-gis-mapping (Recursión)• https://www.packtpub.com/python-geospatial-development/book
  23. 23. Agradecimientos• Gracias a O2C por ceder sus oficinas para estas charlas de: Python-Madrid

×