文本文件 中地块的信息及图斑多边形写入一个 ShapeFile 文件中
时间: 2024-05-24 21:13:46 浏览: 10
可以使用Python中的gdal库进行操作。首先,读取文本文件中的地块信息,将其按照要素类型、要素坐标等格式转化为一个个要素(Feature)。然后,创建一个空的ShapeFile文件,设置属性表结构,插入上一步得到的要素,最后保存ShapeFile文件即可。如果需要更具体的操作信息,可以提供更详细的输入或代码。
相关问题
利用arcpy,将文本文件 parcels.txt 中地块的信息及图斑多边形写入一个 ShapeFile 文件中
好的,这是一个关于地理信息处理的技术问题。可以使用arcpy库中的ArcPy.InsertCursor函数来写入ShapeFile文件。具体实现步骤可以参考以下代码:
```python
# 导入arcpy库
import arcpy
# 设置工作空间和输出ShapeFile文件名
arcpy.env.workspace = "path/to/workspace"
outShapeFile = "parcels.shp"
# 创建输出ShapeFile文件
arcpy.CreateFeatureclass_management(arcpy.env.workspace, outShapeFile, "POLYGON")
# 打开输出图层的游标
cursor = arcpy.InsertCursor(outShapeFile)
# 打开文本文件,并逐行读取
with open("path/to/parcels.txt", "r") as f:
for line in f:
# 对每行数据进行处理,获取多边形坐标信息等
# ...
# 创建图斑,并写入ShapeFile文件
feature = cursor.newRow()
feature.Shape = arcpy.Polygon(arcpy.Array([arcpy.Point(*coords) for coords in polyCoords]))
cursor.insertRow(feature)
# 关闭游标
del cursor
```
希望这个代码示例可以帮助你实现你的需求。如果您想了解更多与此主题相关的信息,请访问ESRI ArcGIS官方网站。
用arcpy将 EX2 的文本文件 parcels.txt 中地块的信息及图斑多边形写入一个 ShapeFile 文件中
以下是使用 arcpy 将 parcels.txt 中地块信息和图斑多边形写入 ShapeFile 文件的代码:
```python
import arcpy
# 设置工作空间和输出 ShapeFile 文件名
arcpy.env.workspace = r"C:\data"
output_shapefile = "parcels.shp"
# 创建一个空的 ShapeFile 文件
arcpy.CreateFeatureclass_management(arcpy.env.workspace, output_shapefile, "POLYGON")
# 添加字段:地块 ID 和地块面积
arcpy.AddField_management(output_shapefile, "parcel_id", "LONG")
arcpy.AddField_management(output_shapefile, "area", "DOUBLE")
# 打开 parcels.txt 文件并遍历每一行
with open("parcels.txt", "r") as f:
# 读取第一行,即表头,跳过
f.readline()
# 遍历每一行
for line in f:
# 分割每一行,并将信息存储到变量中
fields = line.strip().split(",")
parcel_id = int(fields[0])
area = float(fields[1])
# 从第三个元素开始获取所有坐标点
coords = [float(x) for x in fields[2:]]
# 将坐标点转换为 arcpy.Point 对象
points = []
for i in range(0, len(coords), 2):
points.append(arcpy.Point(coords[i], coords[i+1]))
# 创建一个多边形对象,并将其添加到 ShapeFile 文件中
polygon = arcpy.Polygon(arcpy.Array(points))
cursor = arcpy.da.InsertCursor(output_shapefile, ["SHAPE@", "parcel_id", "area"])
cursor.insertRow([polygon, parcel_id, area])
del cursor
```
这个代码将创建一个名为 "parcels.shp" 的 ShapeFile 文件,并从 "parcels.txt" 文件中读取地块信息和多边形坐标点。每个多边形对象都将添加到 ShapeFile 文件中,并与其相应的地块 ID 和面积一起写入。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)