Сценарий Python картографа генерирует SVG с неправильными координатами широты и долготы

Я изменил этот вопрос, чтобы отразить некоторый прогресс в обнаружении проблемы. Я использую следующий код Python для генерации SVG континентальной части США. Шейп-файл не имеет значения, поскольку описанная мною проблема возникает независимо от того, какой шейп-файл я использую. Сценарий действительно прост. Я просто беру шейп-файл для США и использую ограничивающий прямоугольник, чтобы исключить Гавайи и Аляску.

from kartograph import Kartograph

K = Kartograph()

blah={
    "layers": [
        {
        "id":"mylayer",
        "src":"/Users/austinc/Documents/shapefiles/states_21basic/states.shp",
        }
    ],
    "bounds":{
        "mode":"bbox",
        "data":[-130,25,-65,50],
    },
    "proj":{
        "id":"mercator"
    }
}

K.generate(blah,outfile='/Users/austinc/Desktop/mymap.svg')

Проблема в том, что svg, сгенерированный этим кодом, имеет неверные координаты, связанные с ним. Когда я использую JavaScript, чтобы попытаться отобразить на нем точки, точки появляются на правильной широте, но отклоняются примерно на 100 градусов долготы.

Когда я использую готовый SVG из Картографа, у меня нет этой проблемы (я еще не пробовал обрезать Аляску и Гавайи). Так что-то в моем скрипте на python вызывает это, но я не понимаю, что.

ИСПРАВЛЕНО: Комментарий ниже заставил меня задуматься, что, возможно, это как-то связано с проекцией. Я удалил часть скрипта Python, которая рисует график как проекцию меркатора, и это все исправило. Я не уверен, что понимаю почему, но если у вас возникла похожая проблема, и вы нашли этот вопрос: попробуйте изменить свой прогноз или вообще не использовать его.

1 ответ

Возможно, система координат, используемая в вашем SVG-файле, не совпадает с широтой и долготой. Возможно, вам понадобится узнать, какая проекция использовалась для генерации файла SVG и вычисления широт и долгот с использованием обратной проекции. Возможно также попытайтесь увидеть, возникает ли та же проблема с готовыми картами, предоставленными Картографом.

Другие вопросы по тегам