Спасибі. А можна дізнатися каким именно путем вы шли? Я на цьому сервісі BigMap клацав клацав, але в мене нічого не виходило. Чи це мені англійську треба вчити, чи мабуть руки не з того місця ростуть? ))) У всякому разі спасибі за файл. Буду пробувати друкувати.
там есть ссылка на Perl файл. Скачиваешь его, устанавливаешь Perl, в командной строке переходишь в директории в которой лежит Perl файл и пишешь команду на вывод:
А яку програму краще встановлювати ActivePerl чи Strawberry Perl, чи немає значення?
Вже встановив першу. А далі ступор. В командній строці щоб перейти в директорії, потрібно вводити dir? Я с командной строкой на вы
[о, так тут в стандарті вже мапнік є, нічого качать додатково не треба]
Запускаємо програму і вибираємо саму карту мапніка.
Просто покрутивши зум бачимо який нам масштаб потрібно, в прикладі то 16й
Нажимаємо на виділення області прямоктником(кнопка зверхузліва)
Виділяємо потрібну область.
Справа вибираємо потрібний масштаб для скачки (в даномму випадку 16й), перевіряємо на всяк випадок яку карту тягнемо і натискаємо почати.
Чекаємо поки завантажаться обрані тайли.
8.1. Інколи через погане з’єднання чи ще якісь помилки тайл може не завантажитись, і треба буде ще раз повторити завантаження. Тому треба натиснути Ctrl+B (виділяється попередньо виділена область і знов 16й зум і завантажити.
Тепер як є що склеювати - склеюємо. Натискаємо Ctrl+B(попередньо виділена область) , вкладка склеїти. Обираємо результуючий формат, куди зберігати, яку карту і якого масштабу. Якщо треба ще й прив’язки до растру склеїного - ставим галки і буде ще надодачу створений файл прив’язки.
Тиснем - Почати, і забираємо файл в місці зберігання.
Якщо потрібні інші стилі, яких немає в стандарті - готовий росказати як створити до них файли в Sas.Planet`і
KKS - дуже дякую. Не чекав такого детального огляду функцій програми. Спасибі велике. Все вдалося, все вийшло, все просто (з вашою допомогою). додаткові стилі теж не помішали б. А от щодо кінцевого результату, ви роздруковували вихідний файл JPEG з цієї програми? Нормальна там якість? Бо на екрані виглядає дещо тускліше ніж сама карта в браузері, а може це мені так здалося.
Во время операции “склеивания” тайлы карты просто объединяются в одну картинку. Следовательно, качество картинки-результата ровно такое же, как качество тайлов, которые можно увидеть на Стандартном слое, например, на сайте http://openstreetmap.org
Во время склейки можно выбрать формат - доступен не только JPEG, но и PNG, и другие.
Тайлы Стандартного слоя имеют формат PNG, поэтому склеивать их в JPEG - самостоятельно ухудшать качество.
P. S. Если я в чём-то неправ, пожалуйста, поправьте меня.
Для друку необхідно 300dpi. Тайли ж мають лише 72dpi.
Така роздільна здатність годиться лише для широкоформатного друку на білбордах, але аж ніяк не для перегляду з рук.
Та й при друці стиль бажано модифікувати (шрифт зробити меншим, відфільтрувати непотрібні обєкти). Тому як на мене, краще затратити трохи часу і розібратись як підняти локальну базу OSM, ніж чаклувати з SASPlanet
Можна не піднімати локальну базу (які страшні слова), а просто скачати Maperitive та знайти стиль, який найкраще підійде для друку. Там є можливість і скачати потрібний шматок (або вирізати з дампу), і отримати картинку з потрібним dpi, і зберегти у потрібний формат.
Альтернатива Сас.Планети була запропонована тільки тому що був варіант з тим же алогритмом тільки на Perl який сильно заплутаний.
Зрозуміло що якщо можна згенерити вектор, або з вектора в потрібний dpi то це 1000 раз краще.
Візьмемо для прикладу з стандартного OSM зробимо MapQuest карту.
Зробимо копію папки оригінального мапнніку \SAS.Planet.Nightly.150804.8929\Maps\sas.maps\Osm\osm_mapnik.zmp\ і назвемо абияк, назва папки невпливає. \SAS.Planet.Nightly.150804.8929\Maps\sas.maps\Osm\mapquest.zmp\
Тепер треба “відрізнити” файли мапніка і нової карти заходимо до файлу \SAS.Planet.Nightly.150804.8929\Maps\sas.maps\Osm\mapquest.zmp\params.txt і правимо:
2.1 GUID, його можна згенерити онлайн https://www.guidgenerator.com/
2.2 Змінюємо назви карт для різних мов name, name_en, name_uk - просто текст, пишем що хочем
2.3 Змінюємо назву папки кешу NameInCache=osm_MapQuest , якщо назву папки не змінити тайли карти донора(мапнік) будуть затиратись новою картою і навпаки, а якщо не затруться то буде калейдоскоп з тайлів різних стилів.
2.4 Базовий урл. Можна зайти на чудову колекцію http://edward17.github.io/LayersCollection/ вибрати стиль карти і браузері отримати урл конкретного тайлу, в фаєрфоксі то ПКМ - інформація про зображення, або в табличці інформації про сторінку на вкладці мультимедіа. Отримали урл типу: http://otile4.mqcdn.com/tiles/1.0.0/osm/10/598/345.png базовий урл буде DefURLBase=http://otile4.mqcdn.com/tiles/1.0.0/osm/
2.5 вказуємо який тип даних має повертати запит в нашому випадку залишається тим же ContentType=image/png і розширення файлів Ext=.png
2.6 якщо потрібно щоб карта була не в підкаталозі ОСМ змінюємо PARENTSUBMENU=OSM на те що потрібно.
Проекції і інше залишаємо таке як є, всі карти ОСМ які я бачив в стандартній Meractor проекції. Ну й кому потрібно підправити копірайти, правиться то в License=
Далі відкриваємо файл яким буде генеруватись посилання під конкретний тайл
\SAS.Planet.Nightly.150804.8929\Maps\sas.maps\Osm\mapquest.zmp\GetUrlScript.txt
по стандарту він виглядає так:
але частину з підстановкою параметрів реквесту можна викинути. Вона потрібна лише щоб приховати автоматичну скачку купи тайлів і якщо є бан - обійти його.
Тут на паскалі здається описується як генерувати запит.(Сам я не програміст але там все ясно наче)
Дивимось на відоме посилання на тайл і на скрипт, наче й без доопрацюваннь все збігається http://otile4.mqcdn.com/tiles/1.0.0/osm/10/598/345.png
ResultURL:=GetURLBase+‘/’+inttostr(GetZ-1)+‘/’+inttostr(GetX)+‘/’+inttostr(GetY)+‘.png’;
База/зум-1/Х/У.png таке й в нас
Викідаємо параметри “обману” і “GetURLBase[8]:=chr(ord(‘a’)+random(3));” - яка потрібна лише коли є декілька синхронізованих серверів з однаковими тайлами, щоб не робити навантаження на один. Конкертно ця строка змінює 8й символ базового урл по варіантам (a;b;c) так як в нас тут сервер один - все це викидаєм залишається тільки:
begin
ResultURL:=GetURLBase+'/'+inttostr(GetZ-1)+'/'+inttostr(GetX)+'/'+inttostr(GetY)+'.png';
end.
Все запускаємо.
Але перший блін виявився комом:
Так як ми прописали в параметрах що очікуємо формат png, а запит повернув jpeg - нічого не відобразилось. Так буває файл називається .png а насправді він .jpeg . Це навіть файєрфокс показував, але я не звернув на то уваги
Тому в файлі параметрів правимо тип даних на ContentType=image/jpeg залишаючи Ext=.png
Перезапускаємо Сас.Планету і маємо
Якщо щось пішло не так і результату немає, можна знайти на інших картах той тайл який взято за основу, перейти на новостворену мапу і по ПКМ→копіювати в буфер обміну→посилання на тайл основної карти і вже звірити згенерований урл з тим який мав би бути
С помощью поиска по странице находим информацию о необходимом слое и копируем его адрес.
Подсказка: название слоя хранится в свойстве ‘name’, адрес - в ‘address’, поддомены (если они есть) - в ‘subdomains’. Если в адресе присутствует “{s}”, а ‘subdomains’ отсутствует, значит ‘subdomains’ = [‘a’, ‘b’, ‘c’].
*edward17 рад, что вынес всю информацию о слоях в отдельный файл и привёл её в читабельный вид.