Tengo un archivo shapefile de ESRI muy grande (>8000 polígonos, el archivo .shp es >32MB), que quiero leer en R en Windows 7.
Estoy familiarizado con rgdal y readOGR(). Sin embargo, con este tamaño de shapefile, la lectura de todo el shapefile en la memoria es un proceso muy lento. Además, sólo me interesan unos pocos polígonos agrupados (<100) de los 8.000 que contiene el shapefile. El proceso para el que necesito hacer esto es altamente repetitivo, es decir, el shapefile necesita ser cargado muchas veces, por lo que actualmente es muy lento.
Por ello, me pregunto si es posible leer sólo una parte del shapefile para acelerar el proceso. No parece práctico cargar una cantidad tan grande de datos y luego descartar la mayor parte.
0 votos
¿Qué plataforma estás utilizando? Si tienes acceso a ArcGIS, supongo que podrías script algo en ArcPy que haga la selección del subconjunto y luego ejecute un proceso en R desde el script de python. Esto es definitivamente posible... Haz una búsqueda en Google para ejecutar código R desde python.
3 votos
Tal vez intente exportar a un nuevo shapefile aquella parte de sus datos que le resulte importante, y luego trabajar con ella en R.
0 votos
Probablemente funcione con sf. Pero guárdalo en formato de espacio de trabajo de R con saveRDS. Hay formas de almacenar genéricamente en SQLite o similar, pero dudo que sea necesario