sábado, 14 de enero de 2017

Cómo importar y exportar archivos vectoriales con GeoPandas

GeoPandas es un módulo python que extiende los 'datatypes' usados por 'pandas' para permitir operaciones sobre geometrías; las cuales son realizadas con el módulo 'shapely'. Además, GeoPandas depende adicionalmente de 'fiona' para el acceso a los archivos y 'descartes' y 'matplotlib' para graficar.


Los archivos vectoriales, como por ejemplo los shapefiles, pueden ser abiertos como GeoPandas geodataframe y posteriormente grabados en otro formato empleando el método 'to_file'. Para averiguar los drivers soportados se tiene:


1
2
3
import fiona
fiona.supported_drivers
{'FileGDB': 'raw', 'ESRI Shapefile': 'raw', 'OpenFileGDB': 'r', 'PCIDSK': 'r', 'AeronavFAA': 'r', 'SUA': 'r', 'GPSTrackMaker': 'raw', 'ARCGEN': 'r', 'PDS': 'r', 'DGN': 'raw', 'GeoJSON': 'rw', 'GPKG': 'rw', 'MapInfo File': 'raw', 'Idrisi': 'r', 'GPX': 'raw', 'DXF': 'raw', 'BNA': 'raw', 'SEGY': 'r', 'GMT': 'raw'}

que produce un dicionario con los resultados posibles como keys (los values son las opciones de lectura escritura).

Para grabar un archivo, por ejemplo, como 'GPX' se tiene:

1
2
3
4
5
import geopandas as gpd

lines = gpd.read_file('/home/zeito/pyqgis_data/my_lines.shp')

lines.to_file('/home/zeito/pyqgis_data/my_lines.gpx', 'GPX')


El archivo 'GPX' creado (con sus cinco capas que tambien pueden cargarse de manera independiente) luce de la manera siguiente en la Map View de QGIS:



No hay comentarios: