当前位置: 首页 > 知识库问答 >
问题:

Google墨卡托投影并不是真正的墨卡托,如何在SVG上修正将lat long转换为x,y

慕光霁
2023-03-14

基于这种后转换LAT/LON到像素坐标?,这与真正的墨卡托投影很好地工作。

我面临一个问题的svg地图从openstreet map使用“谷歌墨卡托投影与简化网格(1000)”。

我试着在我的法国地图上画一些城市,所有的点都在这里,但不是它们应该在的地方

var cities = {
    0:{
        cname: 'Paris',
        lat: 48.856614,
        lng: 2.3522219000000177
    },
    1:{
        cname: 'Lyon',
        lat: 45.764043,
        lng: 4.835658999999964
    },
    2:{
        cname: 'Bordeaux',
        lat: 44.837789,
        lng: -0.5791799999999512
    },
    3:{
        cname: 'Bastia',
        lat: 42.697283,
        lng: 9.450880999999981
    },
    4:{
        cname: 'Calais',
        lat: 50.95129000000001,
        lng: 1.8586860000000343
    },
    5:{
        cname: 'Menton',
        lat: 43.774481,
        lng: 7.497540000000072
    },
    6:{
        cname: 'Brest',
        lat: 48.390394,
        lng: -4.4860760000000255
    }
}; //EO cities

svg是基于openmapstreet的pdf在Inkscape中创建的,代码有点长,我在这个fiddle中复制粘贴iti(因为我没有附上Raphel,所以这不起作用)http://jsfiddle.net/dqsh3/4/。

您可以在这里看到原始的pdf文件openstreetmap.fr/f/france-regions-01-01-2013-1000.pdf

暂时还没有答案

 类似资料:
  • 关于这个话题有很多问题,也有很多答案,但似乎没有一个对我的代码起作用,不确定是不是转换公式或其他东西在整个代码上有问题。经度值似乎如预期的那样起作用,但我未能将纬度转换为地图上的y值。我将添加一个jsfiddle和代码,以及我尝试过的公式的一些链接。我所读到的谷歌地图是一种墨卡托投影,它使用了投影的双重版本(椭球和球面),通用公式在这种情况下不会那么精确,但我没有20km的差异,而是点在地图中的任

  • 我正在使用sharpmap将MSSQL中的边界(几何体)渲染为PNG图像。这一切都很好,除了国家在平面图像格式上看起来太“宽”。 据我所知,我需要创建到EPSG:3857投影的转换,但我不知道如何做。 这是我的密码 WKT可以在这里找到https://pastebin.com/PEbpAdxT 感谢您的帮助。 编辑2 我也尝试了以下转换,但这会呈现空白的png(没有红色的十字线)

  • 我已经看到了不同的实现方法,还有一些关于堆栈溢出的问题--我已经试用了不同的代码片段,虽然我得到了像素的正确经度,但纬度总是偏离的--似乎变得更合理了。 我需要公式,以考虑图像大小,宽度等。 我试过这段代码: 当使用原始代码时,如果纬度值为正,则返回一个负点,所以我稍微修改了它,并用极端纬度进行测试--应该是0点和766点,它工作得很好。然而,当我尝试一个不同的纬度值,例如:58.07(正好在英国

  • 我理解为什么墨卡托投影的纬度是有限制的,但是根据我假设的理论,经度是[-180,180]呢。 然而,从几个地图应用程序的源代码中我看到了。他们试图将经度限制在[-177177]之间。 这是什么原因?

  • 我对D3墨卡托投影功能还不是太熟悉,正在得到一些意想不到的结果。我想投射以下经纬度(墨西哥某处):

  • 在使用Python geopandas、cartopy和matplotlib以正确绘制shapefile数据时,我面临着严重的困难。 问题来自于在正确设置转换和投影对象的shapefile数据的困难。 我在这里描述的示例是相对于SIRGAS 2000投影中的SHP而言的,其WKT格式为: GEOGCS[“SIRGAS 2000”,基准[“D_SIRGAS_2000”,球体[“GRS_1980”,6