Карты, не вошедшие в основной список

программа для загрузки и просмотра спутниковых снимков Земли, Луны, Марса предоставленных сервисами Google Maps и Космоснимки. Возможность работы с GPS приёмником.

Модератор: Tolik

Аватара пользователя
KKnishev
Новичок
Сообщения: 9
Зарегистрирован: 09 дек 2009, 21:45
Откуда: Санкт-Петербург

Re: Карты не вошедшие в основной список

Сообщение KKnishev »

zOn писал(а):Хранить 4 стороны можно если для каждой сделать свой zmp и переключаться между ними. если назначить хоткеи, то приемлемо.


Как обычный пользователь, и учитывая все сложности реализации, абсолютно согласен с предидущим оратором... ;)
Нам шашечки не к чему, лишьбы ехало быстро!
vu5936
Новичок
Сообщения: 5
Зарегистрирован: 16 окт 2011, 14:46
Благодарил (а): 2 раза

Чешские карты из mapy.cz

Сообщение vu5936 »

Хороший день для всех,
Я хотел бы просить вас за вашу помощь, чтобы создать сценарий для загрузки картографической плитки http://www.mapy.cz. Эти карты покрытия Чехии и у них есть новые спутниковые фотографии, чем имеющиеся на картах Google.

Я нашел описание карты формата здесь:

Код: Выделить всё

http://translate.google.com/translate?sl=cs&tl=ru&js=n&prev=_t&hl=cs&ie=UTF-8&layout=2&eotf=1&u=http%3A%2F%2Fmosra.cz%2Fblog%2Fclanek.php%3Fa%3D5-gps-navigace-svepomoci-1-cast-hackovani-mapoveho-serveru

Я попытался создать скрипт сам, но я не квалифицированный программист Паскаль и я не в состоянии отладки переменных выходов. Мой не работающий скрипт прилагается.
seznammap.zmp.rar
(3.07 КБ) 174 скачивания

Могу ли я попросить вас создать рабочий сценарий для общей карты и спутниковые карты? Я создам других по вашему примеру.Большое спасибо!
(И, извините за мой несовершенный перевод Google).
Tolik
Гуру
Сообщения: 2604
Зарегистрирован: 28 янв 2011, 10:38
Благодарил (а): 283 раза
Поблагодарили: 587 раз

Re: Карты не вошедшие в основной список

Сообщение Tolik »

vu5936, исправил GetUrlScript.txt:

Код: Выделить всё

var Ymax:integer;

begin
  Ymax := round(intpower(2,(GetZ-4)));

  ResultURL:=GetUrlBase+'/'+inttostr(GetZ-4)+'_'+IntToHex(GetX*round(intpower(2,(16-GetZ))),1)+'0000_'+IntToHex((Ymax-GetY)*round(intpower(2,(16-GetZ))),1)+'0000';
end.


Чтобы найти Прагу, Go to - Coordinates - Tile - X: 126, Y: 127, Z: 12, Zoom: 12.
Это не готовая карта.
Может быть, вы подправите константы, чтобы улучшить.

P.S. Зум 17 и выше не работает из-за функции intpower для отрицательной степени, надо исправить. Например, можно добавить if.
vu5936
Новичок
Сообщения: 5
Зарегистрирован: 16 окт 2011, 14:46
Благодарил (а): 2 раза

Re: Карты не вошедшие в основной список

Сообщение vu5936 »

Спасибо Tolik за хороший намек.
Как вы сказали, это показывает карту плитки до масштаба 16. Математической формуле 2^(16-зум) перестает работать, из-за отрицательного числа. Но этого достаточно для общей карте, как она существует только для масштаба 16.

Есть две проблемы сейчас:
1. Проблема с спутниковые карты, поскольку они доступны до масштаба 18. Затем математическая формула 2^(16-зум) больше не действует. Существует также различию с правилом, чтобы добавить "000" цифрами, потому что с зумом от 17 он превращается в правило "00" цифрами.
Например:
http://m3.mapserver.mapy.cz/ophoto/17_7ee0800_819e800
http://m3.mapserver.mapy.cz/ophoto/18_7ee1c00_819dc00
Поэтому условие IF, как вы посоветовали должен быть добавлен. Но в этой конфигурации, как изменить эту математическую формулу 2^(16-зум) для масштабов большых 16?

2. Вы правы, приходят константы для фиксации координат необходимы. Если я выберу Праге это изменение сценария, на самом деле это показывает, какое-то место в Литве, недалеко от города Viesvenai.

Есть ли у вас идеи, как решить их? Большое спасибо!
Tolik
Гуру
Сообщения: 2604
Зарегистрирован: 28 янв 2011, 10:38
Благодарил (а): 283 раза
Поблагодарили: 587 раз

Re: Карты не вошедшие в основной список

Сообщение Tolik »

vu5936, очень трудно понять то, что перевёл Google.
Если вы знаете английский, let's switch to English.

Исправил, теперь работает до зума 20 (20 на mapy.cz соответствует 21 в SASPlanet).

Код: Выделить всё

var Ymax:integer;

begin
  Ymax := round(intpower(2,(GetZ-1))-1);

  ResultURL:=GetUrlBase+'/'+inttostr(GetZ-1)+'_'+IntToHex(GetX*round(intpower(2,(21-GetZ))),1)

+'00_'+IntToHex((Ymax-GetY)*round(intpower(2,(21-GetZ))),1)+'00';
end.


Точную привязку к географическим координатам сделать невозможно.
Теперь Прага здесь: Go to - Coordinates - Tile - X: 507, Y: 505, Z: 11.
Tolik
Гуру
Сообщения: 2604
Зарегистрирован: 28 янв 2011, 10:38
Благодарил (а): 283 раза
Поблагодарили: 587 раз

Re: Карты не вошедшие в основной список

Сообщение Tolik »

Исправил и params.txt
Seznam исправил на Mapy.cz - так понятнее, сразу ясно, что Чехия.
mapy.cz.map.zmp.zip
(3.22 КБ) 221 скачивание


vu5936, сделаете сами спутник, гибрид и т.д. и выложите сюда?
vu5936
Новичок
Сообщения: 5
Зарегистрирован: 16 окт 2011, 14:46
Благодарил (а): 2 раза

Re: Карты не вошедшие в основной список

Сообщение vu5936 »

Здравствуйте, извините за испортить этот форум, но английски будет более понятно, чем Google перевод.

Thank you Tolik for a great help with this map! However there is still a problem, that SAS coordnates do not match to geographic coordinates. In this case Prague is geographically displayed in the Gulf of Guinea in the middle Africa. Why do you think it is not possible to do it? Before the exact math function is discovered, cannot be this shift fixed by some correcting coefficient? Wouldn't be the coefficient the same for all zoom levels (or a linear math function of the zoom level)?

I have already prepared the other maps (satellite, turist and layers for hybrid, turist, cyclo, shading), but I would like to publish complete scripts for mapy.cz after this geographic misallignment is fixed.
Tolik
Гуру
Сообщения: 2604
Зарегистрирован: 28 янв 2011, 10:38
Благодарил (а): 283 раза
Поблагодарили: 587 раз

Re: Карты не вошедшие в основной список

Сообщение Tolik »

Look: a tile from Mapy.cz, Google Maps and Yandex Maps:
Изображение
Изображение
Изображение

Google and Yandex represent two projections - to sphere and ellipsoid. Mapy.cz don't match ether of the two. It has different scale, not only shifted. So it is impossible to fix it exactly.
It is possible to add some coefficients and shift Prague approximately to its place but not exactly so it makes no sense.
zed
Гуру
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз
Поблагодарили: 568 раз

Re: Карты не вошедшие в основной список

Сообщение zed »

Tolik писал(а):Mapy.cz don't match ether of the two. It has different scale, not only shifted. So it is impossible to fix it exactly.

А если попробовать проекцию долгота/широта?
Tolik
Гуру
Сообщения: 2604
Зарегистрирован: 28 янв 2011, 10:38
Благодарил (а): 283 раза
Поблагодарили: 587 раз

Re: Карты не вошедшие в основной список

Сообщение Tolik »

zed писал(а):А если попробовать проекцию долгота/широта?

Но тайл ведь меньше не станет?
Ответить

Вернуться в «SAS.Планета»