-
-
Save jjclavijo/23071beaa027f8d4106983f1261eccb3 to your computer and use it in GitHub Desktop.
Generar Capa SQL ogr
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"nbformat": 4, | |
"nbformat_minor": 5, | |
"metadata": { | |
"jupytext": { | |
"cell_metadata_filter": "-all", | |
"main_language": "python", | |
"notebook_metadata_filter": "-all" | |
}, | |
"colab": { | |
"name": "Generar Capa SQL ogr", | |
"provenance": [], | |
"include_colab_link": true | |
}, | |
"language_info": { | |
"name": "python" | |
}, | |
"kernelspec": { | |
"name": "python3", | |
"display_name": "Python 3" | |
} | |
}, | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "view-in-github", | |
"colab_type": "text" | |
}, | |
"source": [ | |
"<a href=\"https://colab.research.google.com/gist/jjclavijo/23071beaa027f8d4106983f1261eccb3/generar-capa-sql-ogr.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "0acf1f1a" | |
}, | |
"source": [ | |
"# Usar Sql para derivar una capa desde otras\n", | |
"\n", | |
"En este ejemplo vamos a mostrar como podemos obtener una capa utilizando\n", | |
"consultas SQL desde la lΓneas de comandos con herramientas de OGR.\n", | |
"\n", | |
"El objetivo es poder dejar regitrado el proceso de creaciΓ³n de una capa.\n", | |
"\n", | |
"## Descarga de capas" | |
], | |
"id": "0acf1f1a" | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "eWQrxbFTT93v" | |
}, | |
"source": [ | |
"# instalar la versiΓ³n mΓ‘s moderna de gdal\n", | |
"_= !add-apt-repository -y ppa:ubuntugis/ubuntugis-unstable\n", | |
"_= !apt-get update\n", | |
"_= !apt-get install libudunits2-dev libgdal-dev libgeos-dev libproj-dev \n", | |
"_= !apt-get install proj-bin" | |
], | |
"id": "eWQrxbFTT93v", | |
"execution_count": 3, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "cda82f90", | |
"outputId": "23ddb786-3c7d-478a-f795-8ba3a7fec345" | |
}, | |
"source": [ | |
"!curl -L -J -O 'https://dnsg.ign.gob.ar/apps/api/v1/capas-sig/Geodesia+y+demarcaci%C3%B3n/L%C3%ADmites/provincia/shp'\n", | |
"\n", | |
"!curl -L -J -O 'https://dnsg.ign.gob.ar/apps/api/v1/capas-sig/Geodesia+y+demarcaci%C3%B3n/Redes+geod%C3%A9sicas/ramsac/json'" | |
], | |
"id": "cda82f90", | |
"execution_count": 2, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
" % Total % Received % Xferd Average Speed Time Time Time Current\n", | |
" Dload Upload Total Spent Left Speed\n", | |
"100 10.1M 100 10.1M 0 0 282k 0 0:00:36 0:00:36 --:--:-- 168k\n", | |
"curl: Saved to filename 'provincia.zip'\n", | |
" % Total % Received % Xferd Average Speed Time Time Time Current\n", | |
" Dload Upload Total Spent Left Speed\n", | |
"100 5126 100 5126 0 0 4576 0 0:00:01 0:00:01 --:--:-- 4576\n", | |
"curl: Saved to filename 'ramsac.zip'\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "mnqW45woUf3s", | |
"outputId": "391248a8-cc9b-47da-f306-822aa0cab9b4" | |
}, | |
"source": [ | |
"!unzip provincia.zip\n", | |
"!unzip ramsac.zip" | |
], | |
"id": "mnqW45woUf3s", | |
"execution_count": 10, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"Archive: provincia.zip\n", | |
" inflating: provincia.dbf \n", | |
" inflating: provincia.prj \n", | |
" inflating: provincia.shp \n", | |
" inflating: provincia.shx \n", | |
"Archive: ramsac.zip\n", | |
" inflating: ramsac.json \n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "668161ca" | |
}, | |
"source": [ | |
"## CreaciΓ³n de un VRT para trabajar ambas capas juntas" | |
], | |
"id": "668161ca" | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "efefee96" | |
}, | |
"source": [ | |
"vrtdata = \"\"\"<OGRVRTDataSource>\n", | |
" <OGRVRTLayer name=\"Provincias\">\n", | |
" <SrcDataSource relativeToVRT=\"1\">provincia.shp</SrcDataSource>\n", | |
" <SrcLayer>provincia</SrcLayer>\n", | |
" <GeometryType>wkbMultiPolygon</GeometryType>\n", | |
" <LayerSRS>WGS84</LayerSRS>\n", | |
" <Field name=\"Nombre\" src=\"nam\" type=\"string\"/>\n", | |
" <GeometryField encoding=\"Direct\"/>\n", | |
" </OGRVRTLayer>\n", | |
" <OGRVRTLayer name=\"Ramsac\">\n", | |
" <SrcDataSource relativeToVRT=\"1\">ramsac.json</SrcDataSource>\n", | |
" <SrcLayer>sql_statement</SrcLayer>\n", | |
" <GeometryType>wkbPoint</GeometryType>\n", | |
" <LayerSRS>WGS84</LayerSRS>\n", | |
" <Field name=\"Codigo\" src=\"codigo_estacion\" type=\"string\"/>\n", | |
" <GeometryField encoding=\"Direct\"/>\n", | |
" </OGRVRTLayer>\n", | |
"</OGRVRTDataSource>\n", | |
"\"\"\"\n", | |
"\n", | |
"with open('ramsac.vrt','w') as f:\n", | |
" f.write(vrtdata)" | |
], | |
"id": "efefee96", | |
"execution_count": 11, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "ec4037a9" | |
}, | |
"source": [ | |
"Verificamos que el archivo provea la informaciΓ³n correctamente" | |
], | |
"id": "ec4037a9" | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "7f384ccf", | |
"outputId": "f6ee4abe-61b5-4ae1-822d-ccef01928989" | |
}, | |
"source": [ | |
"!ogrinfo ramsac.vrt -so -al" | |
], | |
"id": "7f384ccf", | |
"execution_count": 12, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"INFO: Open of `ramsac.vrt'\n", | |
" using driver `OGR_VRT' successful.\n", | |
"\n", | |
"Layer name: Provincias\n", | |
"Geometry: Multi Polygon\n", | |
"Feature Count: 24\n", | |
"Extent: (-74.000000, -90.000000) - (-25.000000, -21.780857)\n", | |
"Layer SRS WKT:\n", | |
"GEOGCRS[\"WGS 84\",\n", | |
" DATUM[\"World Geodetic System 1984\",\n", | |
" ELLIPSOID[\"WGS 84\",6378137,298.257223563,\n", | |
" LENGTHUNIT[\"metre\",1]]],\n", | |
" PRIMEM[\"Greenwich\",0,\n", | |
" ANGLEUNIT[\"degree\",0.0174532925199433]],\n", | |
" CS[ellipsoidal,2],\n", | |
" AXIS[\"geodetic latitude (Lat)\",north,\n", | |
" ORDER[1],\n", | |
" ANGLEUNIT[\"degree\",0.0174532925199433]],\n", | |
" AXIS[\"geodetic longitude (Lon)\",east,\n", | |
" ORDER[2],\n", | |
" ANGLEUNIT[\"degree\",0.0174532925199433]],\n", | |
" ID[\"EPSG\",4326]]\n", | |
"Data axis to CRS axis mapping: 2,1\n", | |
"Nombre: String (0.0)\n", | |
"\n", | |
"Layer name: Ramsac\n", | |
"Geometry: Point\n", | |
"Feature Count: 134\n", | |
"Extent: (-72.885563, -64.240392) - (-44.740615, -22.017103)\n", | |
"Layer SRS WKT:\n", | |
"GEOGCRS[\"WGS 84\",\n", | |
" DATUM[\"World Geodetic System 1984\",\n", | |
" ELLIPSOID[\"WGS 84\",6378137,298.257223563,\n", | |
" LENGTHUNIT[\"metre\",1]]],\n", | |
" PRIMEM[\"Greenwich\",0,\n", | |
" ANGLEUNIT[\"degree\",0.0174532925199433]],\n", | |
" CS[ellipsoidal,2],\n", | |
" AXIS[\"geodetic latitude (Lat)\",north,\n", | |
" ORDER[1],\n", | |
" ANGLEUNIT[\"degree\",0.0174532925199433]],\n", | |
" AXIS[\"geodetic longitude (Lon)\",east,\n", | |
" ORDER[2],\n", | |
" ANGLEUNIT[\"degree\",0.0174532925199433]],\n", | |
" ID[\"EPSG\",4326]]\n", | |
"Data axis to CRS axis mapping: 2,1\n", | |
"Codigo: String (0.0)\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "4cce961c" | |
}, | |
"source": [ | |
"# Consulta SQL sobre la capa.\n", | |
"\n", | |
"Primero generaremos una capa similar a la de puntos, pero agregando algo\n", | |
"de informaciΓ³n de la otra capa." | |
], | |
"id": "4cce961c" | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "d17bf3bf", | |
"outputId": "44b0be59-aabe-4d6d-dd2a-bfdf9f13ca38" | |
}, | |
"source": [ | |
"!ogrinfo -dialect sqlite -sql 'SELECT p.nombre, r.geometry FROM Ramsac r JOIN Provincias p ON ST_contains(p.geometry,r.geometry) LIMIT 5' ramsac.vrt" | |
], | |
"id": "d17bf3bf", | |
"execution_count": 13, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"INFO: Open of `ramsac.vrt'\n", | |
" using driver `OGR_VRT' successful.\n", | |
"\n", | |
"Layer name: SELECT\n", | |
"Geometry: Point\n", | |
"Feature Count: 5\n", | |
"Extent: (-68.875574, -40.105393) - (-57.571297, -29.184887)\n", | |
"Layer SRS WKT:\n", | |
"GEOGCRS[\"WGS 84\",\n", | |
" DATUM[\"World Geodetic System 1984\",\n", | |
" ELLIPSOID[\"WGS 84\",6378137,298.257223563,\n", | |
" LENGTHUNIT[\"metre\",1]]],\n", | |
" PRIMEM[\"Greenwich\",0,\n", | |
" ANGLEUNIT[\"degree\",0.0174532925199433]],\n", | |
" CS[ellipsoidal,2],\n", | |
" AXIS[\"geodetic latitude (Lat)\",north,\n", | |
" ORDER[1],\n", | |
" ANGLEUNIT[\"degree\",0.0174532925199433]],\n", | |
" AXIS[\"geodetic longitude (Lon)\",east,\n", | |
" ORDER[2],\n", | |
" ANGLEUNIT[\"degree\",0.0174532925199433]],\n", | |
" ID[\"EPSG\",4326]]\n", | |
"Data axis to CRS axis mapping: 2,1\n", | |
"Geometry Column = GEOMETRY\n", | |
"Nombre: String (0.0)\n", | |
"OGRFeature(SELECT):0\n", | |
" Nombre (String) = Corrientes\n", | |
" POINT (-58.0758453305556 -29.1848871388889)\n", | |
"\n", | |
"OGRFeature(SELECT):1\n", | |
" Nombre (String) = Buenos Aires\n", | |
" POINT (-57.5712972916667 -38.0057673361111)\n", | |
"\n", | |
"OGRFeature(SELECT):2\n", | |
" Nombre (String) = Mendoza\n", | |
" POINT (-68.8755736388889 -32.8951527638889)\n", | |
"\n", | |
"OGRFeature(SELECT):3\n", | |
" Nombre (String) = Mendoza\n", | |
" POINT (-68.1500614388889 -33.2548431888889)\n", | |
"\n", | |
"OGRFeature(SELECT):4\n", | |
" Nombre (String) = RΓo Negro\n", | |
" POINT (-64.45400475 -40.105393075)\n", | |
"\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "d7d8d0d3" | |
}, | |
"source": [ | |
"Una vez que vemos que la consulta devuelvo lo que necesitamos, creamos la nueva\n", | |
"capa dentro de un archivo gpkg (que soporta mΓΊltiples capas.) y verificamos\n", | |
"que se haya generado correctamente" | |
], | |
"id": "d7d8d0d3" | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "aac06338", | |
"outputId": "f86c9c8c-60a2-401d-9c58-4a12e5b02b5c" | |
}, | |
"source": [ | |
"!ogr2ogr -dialect sqlite -sql 'SELECT p.nombre, r.geometry, r.codigo FROM Ramsac r JOIN Provincias p ON ST_contains(p.geometry,r.geometry)' -f Gpkg ramsac.gpkg ramsac.vrt -nln Estaciones_con_provincia -update\n", | |
"\n", | |
"!ogrinfo ramsac.gpkg -so -al" | |
], | |
"id": "aac06338", | |
"execution_count": 14, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"INFO: Open of `ramsac.gpkg'\n", | |
" using driver `GPKG' successful.\n", | |
"\n", | |
"Layer name: Estaciones_con_provincia\n", | |
"Geometry: Point\n", | |
"Feature Count: 116\n", | |
"Extent: (-72.885563, -64.240392) - (-44.740615, -22.722035)\n", | |
"Layer SRS WKT:\n", | |
"GEOGCRS[\"WGS 84\",\n", | |
" DATUM[\"World Geodetic System 1984\",\n", | |
" ELLIPSOID[\"WGS 84\",6378137,298.257223563,\n", | |
" LENGTHUNIT[\"metre\",1]]],\n", | |
" PRIMEM[\"Greenwich\",0,\n", | |
" ANGLEUNIT[\"degree\",0.0174532925199433]],\n", | |
" CS[ellipsoidal,2],\n", | |
" AXIS[\"geodetic latitude (Lat)\",north,\n", | |
" ORDER[1],\n", | |
" ANGLEUNIT[\"degree\",0.0174532925199433]],\n", | |
" AXIS[\"geodetic longitude (Lon)\",east,\n", | |
" ORDER[2],\n", | |
" ANGLEUNIT[\"degree\",0.0174532925199433]],\n", | |
" USAGE[\n", | |
" SCOPE[\"unknown\"],\n", | |
" AREA[\"World\"],\n", | |
" BBOX[-90,-180,90,180]],\n", | |
" ID[\"EPSG\",4326]]\n", | |
"Data axis to CRS axis mapping: 2,1\n", | |
"FID Column = fid\n", | |
"Geometry Column = GEOMETRY\n", | |
"Nombre: String (0.0)\n", | |
"Codigo: String (0.0)\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "b7296ffb" | |
}, | |
"source": [ | |
"Ahora crearemos una nueva capa que recuente las estaciones dentro de cada\n", | |
"provincia" | |
], | |
"id": "b7296ffb" | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "88f244a1", | |
"outputId": "ec562b39-085a-45aa-8c88-eab5869beb26" | |
}, | |
"source": [ | |
"!ogrinfo -dialect sqlite -sql 'SELECT Centroid(collect(est.geometry)), nombre, count(nombre) FROM (SELECT r.codigo, p.nombre, r.geometry FROM Ramsac r JOIN Provincias p ON ST_contains(p.geometry,r.geometry)) as est GROUP BY nombre LIMIT 2' ramsac.vrt" | |
], | |
"id": "88f244a1", | |
"execution_count": 15, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"INFO: Open of `ramsac.vrt'\n", | |
" using driver `OGR_VRT' successful.\n", | |
"\n", | |
"Layer name: SELECT\n", | |
"Geometry: Unknown (any)\n", | |
"Feature Count: 2\n", | |
"Extent: (-66.645596, -37.019300) - (-60.451773, -27.953876)\n", | |
"Layer SRS WKT:\n", | |
"GEOGCRS[\"WGS 84\",\n", | |
" DATUM[\"World Geodetic System 1984\",\n", | |
" ELLIPSOID[\"WGS 84\",6378137,298.257223563,\n", | |
" LENGTHUNIT[\"metre\",1]]],\n", | |
" PRIMEM[\"Greenwich\",0,\n", | |
" ANGLEUNIT[\"degree\",0.0174532925199433]],\n", | |
" CS[ellipsoidal,2],\n", | |
" AXIS[\"geodetic latitude (Lat)\",north,\n", | |
" ORDER[1],\n", | |
" ANGLEUNIT[\"degree\",0.0174532925199433]],\n", | |
" AXIS[\"geodetic longitude (Lon)\",east,\n", | |
" ORDER[2],\n", | |
" ANGLEUNIT[\"degree\",0.0174532925199433]],\n", | |
" ID[\"EPSG\",4326]]\n", | |
"Data axis to CRS axis mapping: 2,1\n", | |
"Geometry Column = Centroid(collect(est.geometry))\n", | |
"nombre: String (0.0)\n", | |
"count(nombre): Integer (0.0)\n", | |
"OGRFeature(SELECT):0\n", | |
" nombre (String) = Buenos Aires\n", | |
" count(nombre) (Integer) = 18\n", | |
" POINT (-60.4517730239197 -37.0193004294753)\n", | |
"\n", | |
"OGRFeature(SELECT):1\n", | |
" nombre (String) = Catamarca\n", | |
" count(nombre) (Integer) = 3\n", | |
" POINT (-66.6455955037037 -27.9538761333333)\n", | |
"\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "08bb5cc4" | |
}, | |
"source": [ | |
"Verificada la consulta generamos la capa." | |
], | |
"id": "08bb5cc4" | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "e68c5b1e", | |
"outputId": "ac622761-d374-43c6-8fa5-667e701fc329" | |
}, | |
"source": [ | |
"!ogr2ogr -dialect sqlite -sql 'SELECT Centroid(collect(est.geometry)) geometry, nombre, count(nombre) as cuenta FROM (SELECT r.codigo, p.nombre, r.geometry FROM Ramsac r JOIN Provincias p ON ST_contains(p.geometry,r.geometry)) as est GROUP BY nombre' -f gpkg ramsac.gpkg ramsac.vrt -nln Cuenta_Ramsac\n", | |
"\n", | |
"!ogrinfo -al -so ramsac.gpkg" | |
], | |
"id": "e68c5b1e", | |
"execution_count": 16, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"INFO: Open of `ramsac.gpkg'\n", | |
" using driver `GPKG' successful.\n", | |
"\n", | |
"Layer name: Cuenta_Ramsac\n", | |
"Geometry: Unknown (any)\n", | |
"Feature Count: 24\n", | |
"Extent: (-70.064156, -59.400059) - (-55.169992, -23.149588)\n", | |
"Layer SRS WKT:\n", | |
"GEOGCRS[\"WGS 84\",\n", | |
" DATUM[\"World Geodetic System 1984\",\n", | |
" ELLIPSOID[\"WGS 84\",6378137,298.257223563,\n", | |
" LENGTHUNIT[\"metre\",1]]],\n", | |
" PRIMEM[\"Greenwich\",0,\n", | |
" ANGLEUNIT[\"degree\",0.0174532925199433]],\n", | |
" CS[ellipsoidal,2],\n", | |
" AXIS[\"geodetic latitude (Lat)\",north,\n", | |
" ORDER[1],\n", | |
" ANGLEUNIT[\"degree\",0.0174532925199433]],\n", | |
" AXIS[\"geodetic longitude (Lon)\",east,\n", | |
" ORDER[2],\n", | |
" ANGLEUNIT[\"degree\",0.0174532925199433]],\n", | |
" USAGE[\n", | |
" SCOPE[\"unknown\"],\n", | |
" AREA[\"World\"],\n", | |
" BBOX[-90,-180,90,180]],\n", | |
" ID[\"EPSG\",4326]]\n", | |
"Data axis to CRS axis mapping: 2,1\n", | |
"FID Column = fid\n", | |
"Geometry Column = geometry\n", | |
"nombre: String (0.0)\n", | |
"cuenta: Integer (0.0)\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "VoVpJFYWUC-G", | |
"outputId": "17d19508-9a87-41d9-f03b-cdc26f44c494" | |
}, | |
"source": [ | |
"!pip install geopandas" | |
], | |
"id": "VoVpJFYWUC-G", | |
"execution_count": 17, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"Collecting geopandas\n", | |
" Downloading geopandas-0.10.2-py2.py3-none-any.whl (1.0 MB)\n", | |
"\u001b[?25l\r\u001b[K |β | 10 kB 17.6 MB/s eta 0:00:01\r\u001b[K |β | 20 kB 14.8 MB/s eta 0:00:01\r\u001b[K |β | 30 kB 10.3 MB/s eta 0:00:01\r\u001b[K |ββ | 40 kB 8.8 MB/s eta 0:00:01\r\u001b[K |ββ | 51 kB 5.5 MB/s eta 0:00:01\r\u001b[K |ββ | 61 kB 6.0 MB/s eta 0:00:01\r\u001b[K |βββ | 71 kB 6.0 MB/s eta 0:00:01\r\u001b[K |βββ | 81 kB 6.7 MB/s eta 0:00:01\r\u001b[K |βββ | 92 kB 6.4 MB/s eta 0:00:01\r\u001b[K |ββββ | 102 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββ | 112 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββ | 122 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββ | 133 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββ | 143 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββ | 153 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββ | 163 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββ | 174 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββ | 184 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββ | 194 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββ | 204 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββ | 215 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββ | 225 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββ | 235 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββ | 245 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββ | 256 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββ | 266 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββ | 276 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββ | 286 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββ | 296 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββ | 307 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββ | 317 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββ | 327 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββ | 337 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββ | 348 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββ | 358 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββ | 368 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββ | 378 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββ | 389 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββ | 399 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββ | 409 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββ | 419 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββ | 430 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββ | 440 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββ | 450 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββββ | 460 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββββ | 471 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββββ | 481 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββββ | 491 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββββ | 501 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββββ | 512 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββββββ | 522 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββββββ | 532 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββββββ | 542 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββββββ | 552 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββββββ | 563 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββββββ | 573 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββββββ | 583 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββββββββ | 593 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββββββββ | 604 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββββββββ | 614 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββββββββ | 624 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββββββββ | 634 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββββββββ | 645 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββββββββββ | 655 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββββββββββ | 665 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββββββββββ | 675 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββββββββββ | 686 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββββββββββ | 696 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββββββββββ | 706 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββββββββββββ | 716 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββββββββββββ | 727 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββββββββββββ | 737 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββββββββββββ | 747 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββββββββββββ | 757 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββββββββββββ | 768 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββββββββββββββ | 778 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββββββββββββββ | 788 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββββββββββββββ | 798 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββββββββββββββ | 808 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββββββββββββββ | 819 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββββββββββββββ | 829 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββββββββββββββ | 839 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββββββββββββββββ | 849 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββββββββββββββββ | 860 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββββββββββββββββ | 870 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββββββββββββββββ | 880 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββββββββββββββββ | 890 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββββββββββββββββ | 901 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββββββββββββββββββ | 911 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββββββββββββββββββ | 921 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββββββββββββββββββ | 931 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββββββββββββββββββ | 942 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββββββββββββββββββ | 952 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββββββββββββββββββ | 962 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββββββββββββββββββββ | 972 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββββββββββββββββββββ | 983 kB 5.6 MB/s eta 0:00:01\r\u001b[K |βββββββββββββββββββββββββββββββ | 993 kB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββββββββββββββββββββ| 1.0 MB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββββββββββββββββββββ| 1.0 MB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββββββββββββββββββββ| 1.0 MB 5.6 MB/s eta 0:00:01\r\u001b[K |ββββββββββββββββββββββββββββββββ| 1.0 MB 5.6 MB/s \n", | |
"\u001b[?25hRequirement already satisfied: pandas>=0.25.0 in /usr/local/lib/python3.7/dist-packages (from geopandas) (1.1.5)\n", | |
"Collecting pyproj>=2.2.0\n", | |
" Downloading pyproj-3.2.1-cp37-cp37m-manylinux2010_x86_64.whl (6.3 MB)\n", | |
"\u001b[K |ββββββββββββββββββββββββββββββββ| 6.3 MB 31.9 MB/s \n", | |
"\u001b[?25hCollecting fiona>=1.8\n", | |
" Downloading Fiona-1.8.20-cp37-cp37m-manylinux1_x86_64.whl (15.4 MB)\n", | |
"\u001b[K |ββββββββββββββββββββββββββββββββ| 15.4 MB 39 kB/s \n", | |
"\u001b[?25hRequirement already satisfied: shapely>=1.6 in /usr/local/lib/python3.7/dist-packages (from geopandas) (1.7.1)\n", | |
"Requirement already satisfied: six>=1.7 in /usr/local/lib/python3.7/dist-packages (from fiona>=1.8->geopandas) (1.15.0)\n", | |
"Collecting cligj>=0.5\n", | |
" Downloading cligj-0.7.2-py3-none-any.whl (7.1 kB)\n", | |
"Collecting click-plugins>=1.0\n", | |
" Downloading click_plugins-1.1.1-py2.py3-none-any.whl (7.5 kB)\n", | |
"Requirement already satisfied: certifi in /usr/local/lib/python3.7/dist-packages (from fiona>=1.8->geopandas) (2021.5.30)\n", | |
"Collecting munch\n", | |
" Downloading munch-2.5.0-py2.py3-none-any.whl (10 kB)\n", | |
"Requirement already satisfied: click>=4.0 in /usr/local/lib/python3.7/dist-packages (from fiona>=1.8->geopandas) (7.1.2)\n", | |
"Requirement already satisfied: attrs>=17 in /usr/local/lib/python3.7/dist-packages (from fiona>=1.8->geopandas) (21.2.0)\n", | |
"Requirement already satisfied: setuptools in /usr/local/lib/python3.7/dist-packages (from fiona>=1.8->geopandas) (57.4.0)\n", | |
"Requirement already satisfied: pytz>=2017.2 in /usr/local/lib/python3.7/dist-packages (from pandas>=0.25.0->geopandas) (2018.9)\n", | |
"Requirement already satisfied: python-dateutil>=2.7.3 in /usr/local/lib/python3.7/dist-packages (from pandas>=0.25.0->geopandas) (2.8.2)\n", | |
"Requirement already satisfied: numpy>=1.15.4 in /usr/local/lib/python3.7/dist-packages (from pandas>=0.25.0->geopandas) (1.19.5)\n", | |
"Installing collected packages: munch, cligj, click-plugins, pyproj, fiona, geopandas\n", | |
"Successfully installed click-plugins-1.1.1 cligj-0.7.2 fiona-1.8.20 geopandas-0.10.2 munch-2.5.0 pyproj-3.2.1\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "8s8-Pa0nU7qV" | |
}, | |
"source": [ | |
"import geopandas as gpd" | |
], | |
"id": "8s8-Pa0nU7qV", | |
"execution_count": 18, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 284 | |
}, | |
"id": "qkfvY65DU_E3", | |
"outputId": "1a8ed8ab-f00f-420a-a26f-dbbb802d98b8" | |
}, | |
"source": [ | |
"cr = gpd.read_file('ramsac.gpkg',layer='Cuenta_Ramsac')\n", | |
"ax = gpd.read_file('provincia.shp').plot()\n", | |
"cr.plot(color='orange',markersize=cr.cuenta*5, ax=ax)" | |
], | |
"id": "qkfvY65DU_E3", | |
"execution_count": 26, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"<matplotlib.axes._subplots.AxesSubplot at 0x7f6fbdb36ed0>" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 26 | |
}, | |
{ | |
"output_type": "display_data", | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
} | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "NVyKUVtFVJPF" | |
}, | |
"source": [ | |
"" | |
], | |
"id": "NVyKUVtFVJPF", | |
"execution_count": null, | |
"outputs": [] | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment