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

复现Vesselfinder的EPSG:4326转EPSG:3857坐标变换遇结果不符问题

关于Vesselfinder后端边界框(bbox)计算方式的疑问

我正在尝试搞清楚vesselfinder.com用于后端数据查询的边界框(bbox)计算逻辑,目前遇到了问题:

  • 给定输入经纬度:lat, lon = 59.8230, 22.9586
  • 该网站实际使用的bbox为:13761899,35886447,13779795,35898097

我用常规的EPSG:4326转EPSG:3857转换得到的结果和上述值差距很大,转换后bbox为:2553560.4710,8358928.9331,2556565.4293,8360514.8411。

查看Vesselfinder的JS代码,发现它的转换逻辑如下:

var c = new s.geom.MultiLineString(t);
return c.transform('EPSG:4326', 'EPSG:3857'),

代码中还提及了EPSG:102100、EPSG:102113、EPSG:900913,但我认为实际采用的是上面的EPSG:4326转EPSG:3857转换。

我用Python尝试了相同转换,代码如下:

from pyproj import Transformer

TRAN_4326_TO_3857 = Transformer.from_crs("EPSG:4326", "EPSG:3857", always_xy=True)

lat = 59.823002
lon = 22.958583
expansion = 2000

res = TRAN_4326_TO_3857.transform(lon, lat)
bbox = (round(res[0]-expansion), round(res[1]-expansion), round(res[0]+expansion), round(res[1]+expansion))

print(bbox)
# 输出结果:(2455738, 8260436, 2655738, 8460436)

结果和常规转换接近,但和Vesselfinder的bbox完全不符。我试过切换到代码中提及的其他EPSG编码,也调换过转换顺序,都没能得到目标bbox。请问我哪里出错了?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 10:27:47