SASGIS

Веб-картография и навигация

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

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

Модератор: Tolik

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

Сообщение KKnishev » 05 окт 2011, 14:34

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


Как обычный пользователь, и учитывая все сложности реализации, абсолютно согласен с предидущим оратором... ;)
Нам шашечки не к чему, лишьбы ехало быстро!
Аватара пользователя
KKnishev
Новичок
 
Сообщения: 9
Зарегистрирован: 09 дек 2009, 21:45
Откуда: Санкт-Петербург
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

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

Сообщение vu5936 » 16 окт 2011, 15:22

Хороший день для всех,
Я хотел бы просить вас за вашу помощь, чтобы создать сценарий для загрузки картографической плитки 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 KiB) Скачиваний: 125

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

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

Сообщение Tolik » 16 окт 2011, 18:29

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.

За это сообщение автора Tolik поблагодарил:
vu5936 (16 окт 2011, 18:45)
Рейтинг: 5.26%
 
Tolik
Гуру
 
Сообщения: 2604
Зарегистрирован: 28 янв 2011, 10:38
Благодарил (а): 279 раз.
Поблагодарили: 515 раз.

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

Сообщение vu5936 » 16 окт 2011, 20:09

Спасибо 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.

Есть ли у вас идеи, как решить их? Большое спасибо!
vu5936
Новичок
 
Сообщения: 5
Зарегистрирован: 16 окт 2011, 14:46
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

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

Сообщение Tolik » 17 окт 2011, 10:37

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
Благодарил (а): 279 раз.
Поблагодарили: 515 раз.

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

Сообщение Tolik » 17 окт 2011, 11:23

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


vu5936, сделаете сами спутник, гибрид и т.д. и выложите сюда?

За это сообщение автора Tolik поблагодарил:
vu5936 (17 окт 2011, 19:38)
Рейтинг: 5.26%
 
Tolik
Гуру
 
Сообщения: 2604
Зарегистрирован: 28 янв 2011, 10:38
Благодарил (а): 279 раз.
Поблагодарили: 515 раз.

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

Сообщение vu5936 » 17 окт 2011, 19:37

Здравствуйте, извините за испортить этот форум, но английски будет более понятно, чем 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.
vu5936
Новичок
 
Сообщения: 5
Зарегистрирован: 16 окт 2011, 14:46
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

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

Сообщение Tolik » 17 окт 2011, 20:58

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.
Tolik
Гуру
 
Сообщения: 2604
Зарегистрирован: 28 янв 2011, 10:38
Благодарил (а): 279 раз.
Поблагодарили: 515 раз.

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

Сообщение zed » 17 окт 2011, 21:31

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.

А если попробовать проекцию долгота/широта?
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 525 раз.

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

Сообщение Tolik » 17 окт 2011, 21:35

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

Но тайл ведь меньше не станет?
Tolik
Гуру
 
Сообщения: 2604
Зарегистрирован: 28 янв 2011, 10:38
Благодарил (а): 279 раз.
Поблагодарили: 515 раз.

Пред.След.

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

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 5