You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WGS-84与SK-42(EPSG:4284)坐标转换结果偏差问题求助

WGS-84与SK-42(度单位)坐标转换结果差异问题

我目前拥有一套经测试可正常运行的Python代码,能实现WGS-84与SK-42(米单位)坐标参考系统(CRS)间的双向转换。

为验证转换准确性,我使用公开参考资源进行对比,以下EPSG代码对应的WGS-84 ↔ SK-42(米单位)转换结果符合预期:

  • WGS-84:EPSG: 4326
  • SK-42(米单位):EPSG: 28405、28406、28407(适用于乌克兰区域)

但当使用GDAL或PYPROJ库实现WGS-84与SK-42(度单位)的双向转换时,对应以下EPSG代码的转换结果与参考源存在显著差异:

  • WGS-84:EPSG:4326
  • SK-42(度单位):EPSG:4284

我怀疑问题出在EPSG:4284的使用上,但缺乏相关专业知识,特此附上测试代码及对比结果,寻求解决思路。

测试代码

import pandas as pd

dataset_file = './dataset.xlsx'
dataset_sheet = 'WGS84'
dataset = pd.read_excel(dataset_file, sheet_name=dataset_sheet)

sk42_code = 4284 # Pulkovo 42
wgs84_code = 4326 # WGS-84

#### CONVERSION WITH HELP OF PYPROJ

from pyproj import Transformer

transformer = Transformer.from_crs(wgs84_code, sk42_code)
    
res_pyproj = [transformer.transform(row.lon_WGS84, row.lat_WGS84) \
              for _, row in dataset.iterrows()]
res_pyproj = pd.DataFrame(res_pyproj, columns=['lon_SK42', 'lat_SK42'])

转换结果对比

各列含义:

  • lon_WGS84、lat_WGS84:原始WGS-84数据
  • lon_SK42、lat_SK42:上述代码的转换结果
  • lon_SK42_ref、lat_SK42_ref:参考服务的转换结果
lon_WGS84lat_WGS84lon_SK42lat_SK42lon_SK42_reflat_SK42_ref
25.823284851.0332652625.82359651.03417525.82507051.033507
27.457914449.3395829327.45820949.34053827.45961549.339819
29.304321848.3632645729.30459148.36425729.30596848.363484
30.854593647.0041519830.85484847.00518630.85617547.004366
33.838479145.3139173133.83869845.31502233.83997245.314109
36.09123246.8143267936.09139246.81544836.09274546.814460
38.415591947.7728678238.41569747.77401738.41710547.772949
39.940131249.4068322839.94016349.40796239.94168049.406862

内容的提问来源于stack exchange,提问作者Olegh Bondarenko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 08:10:54