Domanda

Sto lavorando con i file di forma in Geodjango. In questo momento sto cercando di scrivere un test per il codice che si carica in un file di forma e lo salva in un database. Il file di forma ha attualmente un conteggio di 64.118. Vorrei ridurlo a una manciata in modo che il test possa caricarlo rapidamente e confermare che tutto è giusto.

Poiché i file di forma non sono in formato di testo, esiste un'applicazione o una libreria gratuita che posso usare per eliminare una manciata di funzionalità e salvarle in un nuovo file?

Dovrei menzionare che non ho una licenza né l'accesso a nessuna linea di prodotti ESRI.

È stato utile?

Soluzione

Hai diverse opzioni per esportare un sottoinsieme di record da un file di forma.

  • Qualsiasi GIS desktop open source sarà in grado di eseguire questo. Alcuni dei più popolari sono GIS quantico, gvsig o OpenJump. I passaggi esatti varieranno in ciascuno di essi, ma in pratica devi caricare il file di forma, iniziare la modifica, selezionare i record che desideri ed esportarli in un nuovo file di forma.

  • Il OGR2OGR Lo strumento, parte del pacchetto GDAL consente di trasformare tra diversi formati vettoriali geografici (o all'interno dello stesso formato) e è possibile specificare un'espressione simile a SQL per filtrare il set di dati originale.

    OGR2OGR -F "ESRI FAPEFILE" -Where "id <10" new_shapefile.shp enorme_shapefile.shp

  • Se si utilizza PostGIS e non si desidera installare nessuna delle app precedenti, è possibile utilizzare il pgsql2shp Strumento per esportare un sottoinsieme della tabella Postgis in uno shapefile.

    pgsql2shp -f "/path/to/spepfile" -h server -u utente -p password postgisdb "seleziona * dalla tabella dove id <10"

Modificare: In una delle tre opzioni è possibile eseguire un filtro spaziale (cioè le funzionalità che rientrano in una scatola di delimitazione) piuttosto che una selezione basata su attributi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top