#wgs84 转极球面投影
# -*- coding: utf-8 -*-
import arcpy
import os
# 设置输入和输出文件夹路径(需替换为实际路径)
input_folder = r"F:\test data" # 存放原始WGS84的SHP文件
output_folder = r"F:\test data" # 存放转换后的极球面投影文件
# 确保输出文件夹存在
if not os.path.exists(output_folder):
os.makedirs(output_folder)
# 定义目标坐标系(EPSG:3995)
target_sr = arcpy.SpatialReference(3413) # 或通过名称指定:arcpy.SpatialReference("NSIDC Sea Ice Polar Stereographic North(EPSG:3413):适用于北极科学数据,中央经线为-45°,标准纬线为70°N。")
# 设置工作环境并遍历输入文件夹中的SHP文件
arcpy.env.workspace = input_folder
shp_files = arcpy.ListFeatureClasses("*.shp") # 获取所有SHP文件
# 批量投影转换
for shp in shp_files:
try:
# 输入文件路径
input_shp = os.path.join(input_folder, shp)
# 输出文件路径(添加后缀 "_polar" 避免覆盖)
output_shp = os.path.join(output_folder, f"{os.path.splitext(shp)[0]}_polar3413.shp")
# 执行投影变换
arcpy.Project_management(
in_dataset=input_shp,
out_dataset=output_shp,
out_coor_system=target_sr,
transform_method="", # WGS84转EPSG:3995无需地理变换(同一基准面)
preserve_shape="PRESERVE_SHAPE" # 保持几何形状精度
)
print(f"成功转换: {shp} → {os.path.basename(output_shp)}")
except arcpy.ExecuteError as e:
print(f"ArcGIS 工具错误: {shp} | {e}")
except Exception as e:
print(f"其他错误: {shp} | {str(e)}")
07-24
7304
7304
04-27
6989
6989

被折叠的 条评论
为什么被折叠?



