С чего начать? Использование данных x, y, z для отображения лота здания
-
28-10-2019 - |
Вопрос
Я использовал уровень строителей, чтобы получить координаты 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 в качестве входа, без изменения формата.