投影坐标系(EPSG:3857)

EPSG:3857(WGS84 Web Mercator)是基于球体的、web墨卡托投影(伪墨卡托投影)的投影坐标系。在openlayers 中默认的坐标就是google的墨卡托坐标,也就是我们经常看到的EPSG:3857 坐标系。


EPSG3857使用从球面或椭球面投射到平面的坐标系统,单位是米。EPSG:3857 的数据一般是这种的。[12914838.35,4814529.9],看上去相对数值较大。不利于存储,比较占内存。


特点:用于分析,显示数据。缺点:数据的可读性差和数值大存储比较占用内存。


因为墨卡托投影等正形性的特点,在不同层级的图层上物体的形状保持不变,一个正方形可以不断被划分为更多更小的正方形以显示更清晰的细节。
很明显,伪墨卡托坐标系适合显示数据,但是不适合存储数据的,通常我们使用WGS84 存储数据,使用伪墨卡托显示数据。

对于墨卡托投影来说,越到高纬度,大小扭曲越严重,到两极会被放到无限大,所以,墨卡托投影无法显示极地地区。下图来自维基百科,可以看到墨卡托投影下每个国家的大小和实际大小的差异。但是 conformality(正形性) 和 straight rhumb lines 这两个特点,让它非常适合于航海导航。(https://blog.csdn.net/qq_36410795/article/details/106429109)

在Python中,你可以使用pandas库处理Excel文件,包括转换文件格式(`.xlsx`到`.xls`)以及数据处理。对于文件格式转换,pandas不能直接操作文件扩展名,但可以通过先读取`.xlsx`文件,然后保存为`.xls`格式。而对于地理坐标的转换,你需要使用geopandas和合适的投影库,如pyproj。 首先,安装必要的库,如果你还没有安装的话: ```bash pip install pandas openpyxl geopandas pyproj ``` 然后,以下是如何完成这两个步骤的代码: **1. 将`.xlsx`转为`.xls`** ```python import pandas as pd # 读取xlsx文件 df = pd.read_excel('input.xlsx') # 如果有多个sheet,可以选择特定的sheet # df = pd.read_excel('input.xlsx', sheet_name='Sheet1') # 由于pandas不直接支持xls写入,我们可以先保存为csv,再用openpyxl转成xls df.to_csv('temp.csv', index=False) # 不保留索引 with pd.ExcelWriter('output.xls') as writer: df.to_excel(writer, sheet_name='Sheet1', index=False) ``` **2. 数据读取及坐标系转换** ```python import geopandas as gpd from pyproj import CRS # 读取xls文件(假设已转换好) gdf = gpd.read_excel('output.xls', sheet_name='Sheet1') # 检查当前的坐标系 print(gdf.crs) # EPSG:4326 是WGS84,EPSG:3857 是Web Mercator # 将坐标系设置为你想要的目标投影 target_crs = CRS.from_epsg(3857) # 使用to_crs()方法进行坐标转换 gdf_3857 = gdf.to_crs(target_crs) # 现在gdf_3857的数据就是按照EPSG:3857坐标系了 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值