0

我使用建设者级别来获取 110' x 150' 的建筑地块上的 x、y、z 坐标。它们不在等间距的行和列中,而是随机放置。

我找到了很多关于制图的信息,我期待着学习 GIS。以及如何使用那里的许多免费软件实用程序。

我应该从哪里开始?

现在数据是 csv 文件格式,但我可以更改它。

似乎我想将我拥有的信息转换为“shapefile”或光栅格式。

我想我可以查找格式并执行此操作,但似乎我还没有找到适合此部分过程的实用程序。

谢谢你彼得

4

2 回答 2

3

您可以将坐标转换为 shapefile 以在 QGIS、ArcMAP 或类似的 GIS 程序中显示它们。您可能需要一个多边形 shapefile。

一种简单的方法是使用 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()

注意:pysal 目前不支持(Z 坐标),但有很多类似的库支持。

还要注意第一个点和最后一个点是相同的,表示一个封闭的多边形。

如果您的 X、Y、Z 坐标是 GPS 坐标,您可以通过告诉 GIS 您的数据在哪个投影中(WGS84、UTM 区域 # 等)轻松地将您的数据与其他 GIS 数据对齐。如果您的坐标位于本地坐标中(未绑定到 UTM 等网格),则您需要“地理参考”您的坐标以便将它们与其他数据对齐。

最后使用 ogr2ogr 命令,您可以轻松地将数据从 shapefile 导出为其他格式,例如 KML,

ogr2ogr -f KML myPolygon.kml myPolygon.shp
于 2011-12-04T20:50:31.283 回答
0

您可以将 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>

在数据源字段中设置 CSV 文件名。在你的情况下,你有积分,所以这个例子是好的。字段 layersrs 表示坐标的投影。如果你有经度和纬度,这个就可以了。几何字段必须包含 x 和 y 属性,它们定义 CSV 文件中包含坐标的列。CSV 文件必须具有定义字段名称的第一行。使用.vrt扩展名保存文件。

一旦你有了这个,使用 ogr2ogr 程序,如果安装了 GDAL,你就有了。如果要将文件转换为 Shapefile,只需在控制台中输入:

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

如果您的问题是如何处理数据,您可以查看gdal_grid实用程序,该程序将分散数据(如您的数据)转换为栅格数据。您可以使用带有 vrt 头文件的 CSV 作为输入,而无需更改格式。

于 2012-01-08T20:22:01.437 回答