wgs84 转极球面投影

#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)}")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值