利用 pyshp 库将 csv 格式批量转为 shapefile 时无法定义坐标系,改用 Arcpy 实现。
Arcpy 需在 Python 2 中运行,本代码在 Python 2.7 环境中实现。
代码实例
# -*- coding: cp936 -*-
import arcpy
import os
file_path = 'shp 文件所在文件夹'
file_list = os.listdir(file_path)
for file in file_list:
# shapefile 含有很多其他附属文件,这一步单独将「.shp 」筛选出来
if 'shp' in file:
file_dir = os.path.join(file_path, file)
# 定义坐标系为 WGS84(代码4326)
sr = arcpy.SpatialReference(4326)
arcpy.DefineProjection_management(file_dir, sr)
print(file + u'投影成功')
else:
print(u'跳过')