Pour faire suite à ma question précédente ( Conversion du fichier GeoJSON de SimpleGeo Places en fichier de formes ), je me bats maintenant avec ce que je perçois comme une limitation de «mémoire» ogr2ogr, mais je ne peux pas en être sûr. J'ai réussi à convertir les fichiers de vidage SimpleGeo en fichiers geojson appropriés (vérifiés qui sont directement lisibles dans QGIS).
Maintenant, je veux convertir ces données en SHP ou en d'autres formats (SQLite, PostGIS). J'exécute la commande suivante avec succès sur des fichiers plus petits (où "places_fr.gejson" a une taille de fichier de ~ 118 Mo):
ogr2ogr -f "ESRI Shapefile" places_fr.shp places_fr.geojson
Lorsque j'essaie d'exécuter cette même commande exacte avec un fichier geojson de 340 Mo, ogr2ogr se bloque de deux manières:
- "lh_table_new: calloc a échoué" ( première tentative )
- Windows lance un "ogr2ogr.exe a cessé de fonctionner. Veuillez fermer le programme." ( tentatives ultérieures )
J'exécute la commande ogr via FWTools dans un environnement dual core Windows 7 avec 8 Go de RAM installée (4 Go disponibles, 12 Go de mémoire virtuelle disponibles). Y a-t-il une limite de mémoire pour ogr2ogr convertir ces ensembles de données? J'ai également essayé de convertir en SQLite avec les mêmes résultats, donc je ne pense pas que ce soit un problème de conversion SHP. Merci.
Réponses:
Avertissement : étant donné la quantité de mémoire que vous signalez sur votre système, je suppose que vous utilisez une version 64 bits de Windows. Sinon, cette solution ne s'applique pas.
La limite de mémoire pour toutes les applications 32 bits sur Windows (quelle que soit la version de Windows, il est donc vrai également pour Windows 64 bits) est de 2 Go. Vous atteignez peut-être cette limite pour confirmer l'exécution de ogr2ogr et vérifier l'utilisation de la mémoire avec le gestionnaire de tâches.
Si le problème est en effet dû à un problème de mémoire, vous pouvez faire deux choses:
construisez-vous une version 64 bits de GDAL (je n'ai pas pu trouver de binaires facilement disponibles)
patch ogr2ogr.exe avec cet outil: http://ntcore.com/4gb_patch.php . Après avoir patché (faites une copie de sauvegarde bien sûr), le binaire devrait être disponible pour répondre à un total de 4 Go
la source
S'il y a un problème, il serait très probablement spécifique au pilote geojson OGR et non à OGR lui-même. Essayez d'utiliser un binaire plus récent (comme celui d' OSGeo4W ) ou encore mieux, une version 64 bits de celui-ci. Désolé, sauf si vous le compilez, je ne sais pas où vous pouvez obtenir un binaire 64 bits pour Windows - les binaires Ubuntu Linux et Mac KyngChaos seront cependant 64 bits.
la source
Peut être divisé en plusieurs fichiers et importé avec un lot les fichiers.
la source