С чего начать? Использование данных x, y, z для отображения лота здания

StackOverflow https://stackoverflow.com/questions/8376203

Вопрос

Я использовал уровень строителей, чтобы получить координаты x, y, z на здании 110 'x 150'. Они не находятся в одинаково расположенных рядах и столбцах, но случайным образом размещены.

Я нашел много информации о картировании, и я с нетерпением жду возможности узнать о ГИС. И как использовать множество бесплатных программных утилит.

С чего начать?

Теперь данные находятся в формате файла CSV, но я мог бы это изменить.

Кажется, что я хочу получить информацию, которая у меня есть, в «ShapeFile» или растровый формат.

Я пострадал, что мог бы искать форматы и сделать это, но, похоже, я не пришел к надлежащей утилите для этой части процесса.

Спасибо, Питер

Это было полезно?

Решение

Вы можете преобразовать свою координату в файл Shape, чтобы отобразить их в программах QGI, ARCMAP или аналогичных ГИС. Вы, наверное, хотите полигонский файл.

Один простой способ сделать это - с писалом

>>> 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()

Примечание. В настоящее время Pysal не поддерживает (Z -координаты), но есть много подобных библиотек, которые делают.

Также обратите внимание, что первая и последняя точка такая же, что указывает на закрытый многоугольник.

Если ваши координаты x, y, z являются координатами GPS, вы сможете легко согласовать свои данные с другими данными ГИС, сообщив ГИС, в каком проекции есть ваши данные (WGS84, UTM Zone #и т. Д.). Если ваши координаты находятся в локальных координатах (не привязаны к сетке, такой как UTM и т. Д.), Вам нужно будет «координировать геолечение», чтобы выровнять их с другими данными.

Наконец, используя команду OGR2OGR, вы можете экспортировать свои данные из ShapeFile в другие форматы, такие как KML,

ogr2ogr -f KML myPolygon.kml myPolygon.shp

Другие советы

Вы можете преобразовать файл CSV в любой формат поддерживаемого OGR. Все, что вам нужно, это файл заголовка для файла CSV. Здесь у вас есть пример:

 <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>

В поле DataSource вы установили имя файла CSV. В вашем случае у вас есть очки, поэтому пример в порядке. Полевые слои указывают проекцию координат. Если у вас есть долгота и широта, это в порядке. GeometryFields должны содержать свойства x и y, которые определяют столбцы в файле CSV, которые закрепляют координаты. Файл CSV должен иметь первую строку, определяющую имена поля. Сохраните файл с помощью .vrt расширение.

После того, как у вас есть это, используйте программу OGR2OGR, которая у вас есть, если GDAL установлен. Если вы хотите преобразовать файл в ShapeFile, просто введите консоль:

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

Если ваш вопрос в том, что делать с данными, вы можете проверить gdal_grid Утилита, которая преобразует разбросанные данные (как ваши) в растровые данные. Вы можете использовать CSV с файлом заголовка VRT в качестве входа, без изменения формата.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top