python实现shp文件转换84经纬度坐标到火星坐标(wgs84_to_gcj02)

本文介绍了如何使用Python将84坐标系的shp文件转换为火星坐标系(GCJ02)。内容包括转换背景、转换效果、安装所需Python包的步骤、转换脚本的编写及通过QGIS进行转换结果的验证,特别是利用高德在线地图进行对比验证。
摘要由CSDN通过智能技术生成

背景

需要将shp文件(点、线、面)从坐标系为84经纬度坐标转换到火星坐标或者其它坐标系的转换,可以通过python实现,高德地图就是火星坐标系的,所以转换后通过QGIS中加载高德在线地图来验证

效果

在这里插入图片描述

1、安装python包

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple geopandas==
要在C#中实现WGS84坐标到高德火星坐标转换,可以通过调用高德提供的Web坐标转换API来实现。具体步骤如下: 1. 构造请求URL,包括需要转换经纬度坐标、高德提供的开发者key等参数。 2. 发送HTTP请求,获取API返回的JSON格式数据。 3. 解析JSON数据,获取转换后的高德火星坐标系坐标。 4. 将高德火星坐标系坐标转换为需要的坐标系,例如百度坐标系。 以下是一个示例代码,可以实现WGS84坐标到高德火星坐标系转换: ``` using System; using System.Net; using System.IO; using System.Text; using Newtonsoft.Json.Linq; public class CoordinateConverter { private const string API_URL = "https://restapi.amap.com/v3/assistant/coordinate/convert"; private const string API_KEY = "your_amap_api_key"; public static string WGS84ToAMap(double lng, double lat) { string url = $"{API_URL}?key={API_KEY}&locations={lng},{lat}&coordsys=wgs84"; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "GET"; request.ContentType = "application/json"; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream stream = response.GetResponseStream(); StreamReader reader = new StreamReader(stream, Encoding.UTF8); string result = reader.ReadToEnd(); JObject json = JObject.Parse(result); string locations = json["locations"].ToString(); return locations; } } ``` 调用示例: ``` double lng = 116.397128; double lat = 39.916527; string amapCoord = CoordinateConverter.WGS84ToAMap(lng, lat); Console.WriteLine($"WGS84坐标({lng},{lat})转换为高德火星坐标系坐标为:{amapCoord}"); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GIS从业者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值