Como continuación de mi pregunta anterior ( Conversión de archivos GeoJSON de SimpleGeo Places a shapefile ), ahora estoy luchando con lo que percibo podría ser una limitación de "memoria" de ogr2ogr, pero no estoy seguro. He convertido con éxito los archivos de volcado de SimpleGeo en archivos geojson adecuados (verificado que son legibles directamente en QGIS).
Ahora quiero convertir estos datos a SHP u otros formatos (SQLite, PostGIS). Estoy ejecutando el siguiente comando con éxito en archivos más pequeños (donde "places_fr.gejson" tiene un tamaño de archivo de ~ 118MB):
ogr2ogr -f "ESRI Shapefile" places_fr.shp places_fr.geojson
Cuando intento ejecutar este mismo comando exacto con un archivo geojson de 340 MB, ogr2ogr se bloquea de una de dos maneras:
- "lh_table_new: calloc falló" ( primer intento )
- Windows arroja un "ogr2ogr.exe ha dejado de funcionar. Cierre el programa". ( intentos posteriores )
Estoy ejecutando el comando ogr a través de FWTools en un entorno dual de Windows 7 con 8 GB de RAM instalada (4 GB disponibles, 12 GB de memoria virtual disponible). ¿Existe un límite de memoria para que ogr2ogr convierta estos conjuntos de datos? También he intentado convertir a SQLite con los mismos resultados, por lo que no creo que sea un problema de conversión de SHP. Gracias.
Respuestas:
Advertencia : dada la cantidad de memoria que está informando en su sistema, supongo que está utilizando una compilación de Windows de 64 bits. Si no, esta solución no se aplica.
El límite de memoria para todas las aplicaciones de 32 bits en Windows (independientemente de la versión de Windows, por lo que también es cierto para Windows de 64 bits) es de 2 GB. Es posible que esté alcanzando ese límite, para confirmar ejecutar ogr2ogr y verificar el uso de memoria con el administrador de tareas.
Si el problema se debe realmente a un problema de memoria, puede hacer dos cosas:
construya una versión de GDAL de 64 bits (no pude encontrar binarios disponibles)
parche ogr2ogr.exe con esta herramienta: http://ntcore.com/4gb_patch.php . Después de parchar (hacer una copia de seguridad, por supuesto), el binario debería estar disponible para abordar un total de 4 GB
fuente
Si hay un problema, lo más probable es que sea específico para el controlador geojson de OGR y no para el propio OGR. Intente usar un binario más nuevo (como el de OSGeo4W ) o incluso mejor, una versión de 64 bits. Lo siento, a menos que lo esté compilando, no sé dónde puede obtener un binario de 64 bits para Windows; sin embargo, los binarios de Ubuntu Linux y Mac KyngChaos serán de 64 bits.
fuente
Se puede dividir el archivo en muchos archivos e importar con un lote los archivos.
fuente