Da dove cominciare? Utilizzando i dati x, y, z per visualizzare un lotto di costruzione
-
28-10-2019 - |
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
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.