我有一个边界框:
Left -122.27671
Bottom 37.80445
Right -122.26673
Top 37.81449
它也可以转换为 NE Lat/Long 和 SW Lat/Long
在该边界框中,我想找到特定纬度/经度的 X、Y 位置。这将使用墨卡托投影。
我已经看到使用墨卡托在世界地图上找到某个位置的 X、Y 的答案,但不在特定的纬度/经度内。
任何帮助表示赞赏!
更新 把我看到的另一个问题放在一起。任何人都可以验证这是否合法?
map_width = 1240
map_height = 1279
map_lon_left = -122.296916
map_lon_right = -122.243380
map_lon_delta = map_lon_right - map_lon_left
map_lat_bottom = 37.782368
map_lat_bottom_degree = map_lat_bottom * Math::PI / 180
def convert_geo_to_pixel(lat, long)
x = (long - map_lon_left) * (map_width / map_lon_delta)
lat = lat * Math::PI / 180
world_map_width = ((map_width / map_lon_delta) * 360) / (2 * Math::PI)
map_offset_y = (world_map_width / 2 * Math.log((1 + Math.sin(map_lat_bottom_degree)) / (1 - Math.sin(map_lat_bottom_degree))))
y = map_height - ((world_map_width / 2 * Math.log((1 + Math.sin(lat)) / (1 - Math.sin(lat)))) - map_offset_y)
return [x, y]
end