矢量文件坐标转换:2000坐标系转换为wgs84坐标系,具体代码实现

从零开始搭建一个GIS开发小框架(四)扩展功能:CGCS2000坐标转WGS84坐标 CGCS2000坐标转WGS84坐标功能实现 阅读详情
AI摘要

本文介绍如何使用Python将2000坐标系的矢量数据转换为WGS84坐标系,涵盖关键步骤如定义目标坐标系、选择字段及几何类型,并提供完整代码示例。

最近在处理矢量样本的时候,遇到一些shp文件的坐标系为2000坐标,需要统一地把非WGS84坐标系的矢量转换为WGS84坐标系。

图片

本文记录一下如何进行2000坐标系转化为wgs84坐标系的过程。

在处理矢量数据转换的过程中,有几个关键步骤确保了数据的有效性和可用性。

首先,在转换之前,通过检查并创建目标保存目录,保证了正确的目录结构,这对于避免转换失败或产生错误输出至关重要。

接着,通过osr.SpatialReference对象定义目标坐标系,并使用ImportFromEPSG()方法设置EPSG代码,确保了转换后的数据能够在地理信息系统中正确显示。

此外,通过selectFields参数可以选择性地保留某些字段,而geometryType参数则定义了输出文件中的几何类型,这些选项使用户可以根据具体需求定制输出文件。

重投影选项reproject=True指示GDAL/OGR进行坐标系转换,这对于整合不同坐标系下的数据至关重要。

最后,通过dim参数可以控制输出数据的维度,例如仅保留X和Y坐标,这对于某些特定应用场景是必要的。这些步骤共同构成了一个完整的矢量数据转换流程,确保了数据的准确性和实用性。

具体代码如下:

from osgeo import ogr, gdal
from osgeo import osr
import os
def VectorTranslate(
        shapeFilePath,
        saveFolderPath,
        format="GeoJSON",
        accessMode=None,
        dstSrsESPG=4326,
        selectFields=None,
        geometryType="POLYGON",
        dim="XY",
):
    """
    转换矢量文件,包括坐标系,名称,格式,字段,类型,纬度等。
    :param shapeFilePath: 要转换的矢量文件
    :param saveFolderPath: 生成矢量文件保存目录
    :param format: 矢量文件格式
    :param accessMode:None代表creation,'update','append','overwrite'
    :param dstSrsESPG: 目标坐标系EPSG代码,4326是wgs84地理坐标系
    :param selectFields: 需要保留的字段列表如果都保留,则为None
    :param geometryType: 几何类型,"POLYGON","POINT"。。。
    :param dim: 新矢量文件坐标纬度,建议查阅官方API。
    :return:
    """
    if os.path.exists(saveFolderPath) ==0:
        os.makedirs(saveFolderPath)
    ogr.RegisterAll()
    gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "YES")
    data = ogr.Open(shapeFilePath)
    layer = data.GetLayer()
    spatial = layer.GetSpatialRef()
    layerName = layer.GetName()
    data.Destroy()
    dstSRS = osr.SpatialReference()
    dstSRS.ImportFromEPSG(int(dstSrsESPG))
    if format == "GeoJSON":
        destDataName = layerName + ".geojson"
        destDataPath = os.path.join(saveFolderPath, destDataName)
    elif format == "ESRI Shapefile":
        destDataName = os.path.join(saveFolderPath, layerName)
        flag = os.path.exists(destDataName)
        os.makedirs(destDataName) if not flag else None
        destDataPath = os.path.join(destDataName, layerName + ".shp")
    else:
        print("不支持该格式!")
        return
    options = gdal.VectorTranslateOptions(
        format=format,
        accessMode=accessMode,
        srcSRS=spatial,
        dstSRS=dstSRS,
        reproject=True,
        selectFields=selectFields,
        layerName=layerName,
        geometryType=geometryType,
        dim=dim
    )
    gdal.VectorTranslate(
        destDataPath,
        srcDS=shapeFilePath,
        options=options
    )
    return destDataPath
if __name__ == '__main__':
    shapeFilePath = r'G:\\vector.shp'
    saveFolderPath = r'G:\\84'
    VectorTranslate(
        shapeFilePath,
        saveFolderPath,
        format="ESRI Shapefile",
        accessMode=None,
        dstSrsESPG=4326,
        selectFields=None,
        geometryType="POLYGON",
        dim="XY",
    )

在上述代码的主程序部分,我们指定了一个Shapefile文件路径和保存目录,并调用了 VectorTranslate 函数将其转换为ESRI Shapefile格式,并重新投影到WGS84坐标系。

在实际应用中,这段代码可以被用来批量处理大量的矢量数据文件,从而简化数据准备过程。例如,当需要将来自不同来源的Shapefile文件统一到一个标准坐标系中时,这样的脚本可以极大地提高工作效率。

推荐阅读

我很后悔没有早点知道 Python 字典的 8 个功能

探索CVPR 2024中视觉提示领域的5项突破性进展

利用Python将PDF文件转换为文本文件

【代码】利用Python计算和可视化温度植被干旱指数(TVDI)

使用GDAL进行遥感影像植被真彩色增强 - 界面小工具源代码分享

使用GDAL进行遥感影像植被真彩色增强 - 源码分享 (三)

使用GDAL进行遥感影像植被真彩色增强 - 界面小工具分享 (二)

使用GDAL进行遥感影像植被真彩色增强 (一)

关于sentinel-1 rgd格式雷达影像的一些探索

QGIS|如何将WGS84转换为CGCS 2000坐标系? QGIS 3中如何将WGS84转换为国家2000大地坐标系? 今天来回答一位朋友在后台留言提出的问题:怎么将WGS84坐标转换为国家2000大地坐标系。 01工程坐标系 从地图窗口右下角的状态栏可以看到当前地图窗口的坐标系,即工程坐标系(Project CRS)。当前地图可以由多个图层组成,各种来源数据的坐标参照系(Layer CRS)并不一定相同,QGIS在绘制图层之前将根据工程坐标系进行动态坐标转换,然后显示在地图画布中。 因此,在处理空间数据的过程中,一定要特别注意... 阅读详情

相关推荐

全国村界AOI矢量数据实战指南:从WGS84到GCJ02坐标转换技巧

本文提供了全国村界AOI矢量数据从WGS84坐标系转换为GCJ02坐标系的实战指南。针对覆盖68万多个村庄的ESRI Shapefile数据,详细解释了两种坐标系的差异,并给出了基于Python和GDAL库的完整批量转换代码与验证方法,解决了数据与国内主流地图服务(如高德、百度地图)叠加时的偏移问题。

weixin_29248313的博客 846

ArcGis将2000国家大地坐标系转WGS84

初始准备 只包含有坐标系的txt, ArcGis 10.4.1,excel2016 问题及需求 如题 解决方案 首先明确概念,CGS2000是地理坐标系(epsg:4490),WGS_1984也是地理坐标系(epsg:4326),查资料两者相差并不多。讲道理可以直接把txt处理成xls其中单元格格式为数字,然后直接导入ArcGis,再右键显示XY,导出数据成.shp文件,然后右键.sh...

SeptDays的博客 4万+

ArcGIS Pro坐标转换实战:从WGS84到CGCS2000的完整操作指南

本文提供在ArcGIS Pro中实现从WGS84到CGCS2000坐标系转换的完整实战指南。详细解析了两者差异、转换必要性,并逐步演示了创建自定义地理变换、执行投影及精度验证的关键操作,帮助用户精准完成坐标转换,满足国内测绘与工程项目的规范要求。

weixin_29260291的博客 694

WGS84与CGCS2000坐标的精密转换方法

值得注意的是,想要保证坐标的精度,必须要知道当前WGS84坐标系对应的参考框架(ITRF)和历元,不同年份WGS84坐标系同参考框架和历元的对应关系如下表。二者之间的转换首先是参考框架的转换,由上面可以知道CGCS2000采取的是IRTF97参考框架,不同的参考框架之间可以使用布尔沙模型进行转换。除了参考框架的转换,还需要对历元进行转换,因为地球并不是一成不变的,会存在板块运动(漂流、挤压、变形等)。由板块运动产生的变化,会使得不同历元之间的位置差异很大,其造成的误差远远大于框架产生的影响。

4437

Arcmap中shp文件坐标转换实战:从CGCS2000到WGS84

本文详细讲解了在Arcmap中将shp文件从CGCS2000坐标系转换为WGS84坐标系的完整实战流程。通过创建自定义地理变换或使用内置转换方法,结合清晰的步骤演示和常见问题排查,帮助用户解决地图数据叠加偏移问题,确保地理空间数据的准确性与可用性。

weixin_29204205的博客 329

CGCS2000与WGS84坐标转换

CGCS2000转WGS84

qq_37647812的博客 8643

使用Arcmap将WGS84坐标转换成国家大地坐标系2000

使用Arcmap将WGS84坐标转换成国家大地坐标系2000

samLi0620的博客 2万+

笑脸坐标转换软件之(一)单点坐标转换2000to84

笑脸坐标转换软件之(一)单点坐标转换2000to84

yilvyangguang520的博客 5359

GCJ02、WGS84、BD-09 、CGCS-2000坐标系互转

WGS 84是全球定位系统(GPS)所使用的标准坐标系,也是目前最常用的地理坐标系之一。它是一个基于地球椭球模型的坐标系,用于描述地球上的位置。广泛应用于全球导航卫星系统(GNSS)、互联网地图服务等。CGCS 2000是中国最新的大地坐标系,它基于一个更精确的地球模型——GRS80椭球体。该坐标系旨在提高中国领土上地理信息的精度。主要在中国国内的地图制作、国土测绘等领域使用。3. 火星坐标系 (GCJ-02)

细节处有神明的博客 5592

WGS84坐标系统北京市矢量数据包

在地理信息系统(GIS)和全球定位系统(GPS)中,WGS84坐标系统扮演着至关重要的角色。它不仅定义了地球表面的参考框架,还为精确位置信息的获取提供了基础。WGS84(World Geodetic System 1984)是一个全球性的地心坐标系统,它通过3D坐标(经度、纬度、高度)来表示地球表面上的点。这种坐标系统能够为全球用户提供统一且精确的位置参考,对于导航、地图制作、资源管理等领域尤为关键。

weixin_42128315的博客 899

WGS84坐标系下中国全国地理矢量数据集

提到WGS84(World Geodetic System 1984),很多人第一反应就是:“哦,那就是经纬度嘛。错!或者说,只说对了一半。WGS84确实是以经度(λ)、纬度(φ)和椭球高(h)来描述位置的地理坐标系,但它远不止是一个简单的角度系统。它的真正厉害之处在于——它是一个地心坐标系。这意味着什么?简单说,它的原点不是某个局部测量站,而是整个地球的质量中心(包括海洋和大气)。

weixin_42591413的博客 1307

2000 地方坐标城镇地形图转 WGS84 案例

本文为你分享了 2000 地方坐标城镇地形图转 WGS84 案例,主要包括武汉市下吴地形图查看和下载目标范围谷歌卫星影像等步骤。如果你有相关的问题,请关注“水经注GIS”公众号,并在后台回复“人工客服”进群咨询。你还可以立即点击“分享”按钮,将本文分享给你的朋友!

1623

【Unity3D渲染】Unity3d实现Photoshop的各种图层混合模式

Adobe Photoshop图层混合原理、Unity ShaderLab图层混合实现

a310989583的专栏 2434

WGS84坐标转换成国家大地坐标系2000

1. 创建自定义地理(坐标)变换 ArcMap中打开ArcToolBox->数据管理工具->投影和变换->创建自定义地理(坐标)变换 打开对话框,选择“输出地理坐标系”,具体为:Geographic Coordinate Systems\Asia\China_Geodetic_Coordinate_System_2000.prj 设置“COORDINATE_FRAME”变换方法,参数默认,选择“确定”,结束“创建自定义地理(坐标)变换”。 2....

hollyholly5的博客 3万+

华为使用MicroG安装并使用Google服务教程

鉴于众多华为手机用户因无法使用Google服务而感到不便,我经过多次摸索和测试,总结了一份简单易懂的教程,希望能够帮助到大家。无论是需要使用Google Play商店下载应用,还是需要使用Google服务进行工作和学习,本文将详细介绍如何在华为手机上安装并使用Google服务。二、前置条件软件要求:Aurora Store(替代Google Play商店)、MicroG Companion、MicroG Server(替代Google框架)

weixin_41926602的博客 3万+

Cadence 中Cutout、Design_Outline 和 Outline的区别

摘要: 在PCB设计中,Cutout、Design_Outline和Outline都与电路板外形相关但用途不同。Cutout用于定义切割区域(如孔、槽),直接影响制造;Design_Outline仅标记设计边界,作为参考不影响切割;Outline则是实际切割轮廓层,用于制造。三者区别在于:Cutout针对具体切割区域,Design_Outline是设计参考,Outline是最终切割依据。设计时需根据需求选择合适层:外形参考用Design_Outline/Outline,切割区域用Cutout。

卤煮小鱼的博客 1782

WGS84转CGCS2000坐标系转换步骤详解

详细介绍如何在ArcGIS中将WGS84地理坐标系转换为CGCS2000坐标系,包括SHP文件导出、投影变换、坐标系重新定义及带号计算方法,适用于地理信息处理中的常见坐标转换需求。

weixin_36474001的博客 912

电芯外观及体系设计(Cell Design)-①容量平衡设计(Cell Balance Design)

全面获取并正确解读客户需求,将需求进行分解和预判,结合公司现有资源、技术,给出设计方案。一个优秀的电芯设计方案,应该是稳健的,可操作的,满足客户需求的同时,并能为公司带来较多利润。电芯设计需同时考虑周期,性能,品质,加工性,成本,及安全与稳健性。设计人员时刻要有成本控制观念,但利润则是由公司战略所决定。

FDC1303864002的博客 1350

wgs84坐标系转化为bj54坐标系_QGIS|如何将WGS84转换为CGCS 2000坐标系?

QGIS 3中如何将WGS84转换为国家2000大地坐标系?今天来回答一位朋友在后台留言提出的问题:怎么将WGS84坐标转换为国家2000大地坐标系。01工程坐标系从地图窗口右下角的状态栏可以看到当前地图窗口的坐标系,即工程坐标系(Project CRS)。当前地图可以由多个图层组成,各种来源数据的坐标参照系(Layer CRS)并不一定相同,QGIS在绘制图层之前将根据工程坐标系进...

weixin_39533307的博客 1315

第78章:PCL Multiple View ICP 多视角配准

多视角配准(Multiple View ICP)是迭代最近点(ICP)算法的扩展,旨在处理多视角的点云数据配准问题。传统的ICP算法主要用于两幅点云之间的配准,而多视角配准则处理来自多个视角或不同时间采集的多个点云数据的配准任务。在实际应用中,多个传感器或多个拍摄角度获得的点云数据常常需要进行联合配准。这些点云可能由于不同的视角、拍摄位置或时间差异而存在位置和旋转的差异。多视角配准的目标是根据多个点云之间的匹配关系,找到它们的相对变换,使得这些点云能够合并成一个统一的三维模型。

yumeiguo的博客 158

AUTOSAR EcuM模块介绍

AUTOSAR EcuM概述 AUTOSAR EcuM全称是Autosar ECU State Manager,位于Autosar BSW中System Service模块中,是一个独立于硬件的模块。 其主要作用是管理ECU上下电启动的状态,具体为: 初始化启动操作系统所需要的BSW(Basic Software)模块 为睡眠阶段和随后的唤醒完成微控制器的配置准备 管理ECU上的所有唤醒事件(EcuM通过唤醒验证协议验证已发生的唤醒,区分真实的唤醒事件,防止误唤醒) EcuM支持的特性列表 EcuM具有

酒无忧的博客 2995

2000坐标系xy坐标几位_武汉市下吴地形图国家2000地方坐标转WGS84案例

概述水经注软件除了可以对百度坐标与火星坐标进行纠偏和切片,下载陆地及海洋高程、提取10米等高线等深线、CASS高程点,下载含高度的全国矢量建筑、全国乡镇及街区行政区划、地名点、高速铁路网、公交路线、水系、百度高德POI兴趣点和全球OpenStreet矢量外,还可以将国家2000地方坐标系矢量数据转换为其他坐标系,这里以武汉市下吴数据为例,介绍如何将国家2000地方坐标转换为WGS84坐标系。武汉市...

weixin_34276402的博客 1万+

YOLOv8-Pose 姿态识别 RK3588 实战:从模型训练到 RKNN 部署,精度与推理速度双提升

本教程从YOLOv8-pose模型的姿态识别训练,到RK3588的边缘量化部署,为你打造了一套“高精度+高实时性+低成本”的人体姿态分析解决方案。无论是健身动作纠正、智能安防行为检测,还是工业人员姿态监控,这套技术都能直接复用——你只需替换数据集与业务逻辑,即可快速落地专属的边缘AI姿态识别系统。如果你在实践中遇到任何卡点,欢迎随时交流。记住,人体姿态识别的价值在于“关键点准、推理快、部署易”,而这三者的平衡,正是你通过本教程能掌握的核心能力。

FJN110的博客 362

科普:CGCS2000和WGS84原理,核心差异与转换方法

WGS84与CGCS2000坐标系存在本质差异,在中国地区坐标偏差超过0.6米,必须进行科学转换才能满足国家测绘标准要求。本文阐述了WGS84与CGCS2000坐标系的差异及其转换方法。

weixin_43556123的博客 1068

2025_NIPS_Truthful Aggregation of LLMs with an Application to Online Advertising

大型语言模型(LLMs)生成内容的 revenue 变现是在线广告的下一个前沿领域。我们考虑这样一种场景:广告商旨在影响LLM的回复,而平台则寻求最大化广告商价值并确保用户满意度。核心挑战在于,广告商的偏好通常与用户偏好存在冲突,且广告商可能误报其偏好。为解决这一问题,我们提出MOSAIC——一种拍卖机制,它确保真实申报是广告商的占优策略,并使每个广告商的效用与其对社会福利的贡献保持一致。重要的是,该机制无需LLM微调或访问模型权重,且随着计算资源的增加,可证明收敛到最优微调LLM的输出。

c_cpp_csharp的专栏 79

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

上一篇: 使用GDAL进行遥感影像植被真彩色增强 - 界面小工具分享 (二)
下一篇: 利用Python将PDF文件转换为文本文件
小白说遥感
博客等级 码龄10年 2033粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值