Domanda

Ho usato un livello di costruttori per ottenere coordinate X, Y, Z su un lotto di edificio da 110 'x 150'. Non si trovano in file e colonne equidistanti, ma sono posizionati in modo casuale.

Ho trovato molte informazioni sulla mappatura e non vedo l'ora di conoscere GIS. E come utilizzare le numerose utilità software gratuite là fuori.

Da dove devo iniziare?

Ora i dati sono in formato file CSV, ma potrei cambiarlo.

Sembra che voglio ottenere le informazioni che ho in un formato "shapefile" o raster.

Suppongo che potrei cercare i formati e farlo, ma sembra che non abbia mai avuto la corretta utilità per questa parte del processo.

Grazie Peter

È stato utile?

Soluzione

Puoi convertire la tua coordinata in un file di forma per visualizzarli in programmi GIS QGIS, ArcMAP o simili. Probabilmente vuoi un filo di forma in poligono.

Un modo semplice per farlo è con il Pysal

>>> import pysal
>>> coords = [(0,0), (10,0), (10,10), (0,10), (0,0)]
>>> pts = map(pysal.cg.Point, coords)
>>> polygon = pysal.cg.Polygon(pts)
>>> shp = pysal.open('myPolygon.shp','w')
>>> shp.write(polygon)
>>> shp.close()

Nota: Pysal attualmente non supporta (coordinate Z) ma ci sono molte librerie simili che lo fanno.

Si noti inoltre che il primo e l'ultimo punto sono uguali, indicando un poligono chiuso.

Se le coordinate X, Y, Z sono coordinate GPS, sarai in grado di allineare facilmente i tuoi dati con altri dati GIS dicendo al GIS in quale proiezione si trovano i tuoi dati (WGS84, UTM Zone #, ecc.). Se le tue coordinate sono in coordinate locali (non legate a una griglia come UTM, ecc.) Dovrai "georeference" coordinate per allinearle con altri dati.

Finalmente utilizzando il comando OGR2OGR è possibile esportare i tuoi dati da Shapefile ad altri formati come KML,

ogr2ogr -f KML myPolygon.kml myPolygon.shp

Altri suggerimenti

È possibile convertire un file CSV in qualsiasi formato supportato OGR. Tutto ciò di cui hai bisogno è un file di intestazione per il file CSV. Qui hai un esempio:

 <ogrvrtdatasource>
 <ogrvrtlayer name="bars">
    <srcdatasource>bars.csv</srcdatasource>
    <geometrytype>wkbPoint</geometrytype>
    <layersrs>EPSG:4326</layersrs>
    <geometryfield encoding="PointFromColumns" x="longitude" y="latitude">
    </geometryfield>
 </ogrvrtlayer>
 </ogrvrtdatasource>

Nel campo DataSource si imposta il nome del file CSV. Nel tuo caso, hai punti, quindi l'esempio è OK. I layer sul campo indicano la proiezione delle coordinate. Se hai longitudine e latitudine, questo è ok. I campi geometrici devono contenere le proprietà X e Y, che definiscono le colonne nel file CSV che contengono le coordinate. Il file CSV deve avere una prima riga che definisce i nomi dei campi. Salva il file con a .vrt estensione.

Una volta che hai questo, usa il programma OGR2OGR, che hai se GDAL è installato. Se si desidera convertire il file in un file di forma, digita solo una console:

ogr2ogr -f "ESRI Shapefile" bars.shp bars.vrt

Se la tua domanda è cosa fare con i dati, puoi controllare il gdal_grid Programma di utilità, che converte i dati sparsi (come vostri) in dati raster. È possibile utilizzare il CSV con il file di intestazione VRT come input, senza modificare il formato.

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