| Повече ▼

Как да намеря OSM way-id от географска ширина / дължина?

Как да намеря OSM way-id от географска ширина / дължина?


Как да намеря идентификатора на пътя (в OpenStreetMap) от комбинацията географска ширина и дължина? За да дадете някакъв контекст:

Имам много сензори, които отчитат данни за замърсяването (приблизително) под формата: lat, long, timestamp, value

Като се има предвид, че ще имам много сензори, искам да маркирам всеки „път“ със записаното количество замърсяване, така че алгоритъмът ми за маршрутизация (GraphHopper) да може да присвоява различни тегла за всеки начин.

Някакви идеи?


Това, което търсите, се нарича „обратно геокодиране“ и се изпълнява напр. с Nominatim API


Vivek, един брой, който ще имаш, е за много дълги пътища. Връщането на OSMid за дълъг път ще попречи на използването на целия този начин, а не на възможен прост маршрут около проблемната зона.

Ако вашият район не е огромен, (размер на града), може да искате да помислите за PG_Routing, тъй като можете динамично да актуализирате маршрутизиращите таблици за отделен сегмент на базата на дългосрочно търсене с помощта на функциите PostGis.

Като алтернатива можете лесно да вградите позициите на сензора в маршрутната графика и след това просто да претеглите тези с висока цена в реално време

PG_routing не е особено бърз, но е чудесен за тези видове изисквания, тъй като е в базата данни и е много гъвкав.

Обсъждам мост Graphhopper / Pg_Routing в списъка Graphhoper. Причината е, че искам да мога да маршрутизирам динамично на ниво държава (бедствия и сезонни промени, като пътища, недостъпни през дъждовните сезони и т.н.) и GraphHopper се представя много добре, но работи само върху XML файловете, което означава възстановяване на графиката или актуализиране на таблица в паметта редовно от базата данни и модифициране на GraphHopper Source, за да се разгледа таблицата в паметта и да се приложат теглата.

Отново, Graphhopper запазва OSMId за пътя, който при някои обстоятелства може да бъде много дълъг, така че рискувате да направите цяла магистрала непроходима, където като просто отклонение може да бъде всичко, което е необходимо с пълна практичност за заобикаляне на замърсената зона.

За по-малки области просто използвам PG_Routing и вече разполагам с всичките си данни в база данни PostGIS.


Търси се корпус от географски данни

Чудех се дали някой има предимство в корпус от географски местоположения? Идеите за имената на градове и координатни двойки биха били. Обучавам чатбот и (в идеалния случай) бих искал да може да се заема на места в чата и след това да показва карта, ако е поискано. Например, ако бяха въведени думите „Насочвам се към Чикаго“, чатботът може да изобрази карта на Чикаго. Желания и желания настрана, ако всички знаете за един или как мога да го направя, ще го оценя.


Съдържание

Най-простият начин да започнете с API на Overpass е да използвате Taginfo и да се придвижите до маркера, който ви интересува. Вземете пощенските кутии като пример. Натиснете Надлез Турбо бутон там в горния десен ъгъл. Това ще стартира потребителския интерфейс на Overpass Turbo и ще изведе следната заявка

Потребителският интерфейс Overpass Turbo има много възможности. За момента трябва да е достатъчно да имате текстово поле в горния ляв ъгъл на картата. Въведете любимото си местоположение. След това с помощта на Nominatim ще премести изгледа на картата на това място. Въведете напр. Манхатън и изберете първото попадение. След това картата скача към горния край на Централния парк в Манхатън. Намалете две нива, за да видите част от застроената площ. Изпълнете заявката, като натиснете Бягай.

Примерът за Taginfo

Сега можем да започнем да разбираме заявката.

Повечето от предишната заявка са коментари - всичко след // и между /* и */. Следователно, по-кратък вариант на заявката е

Тъй като тук става въпрос за прост пример, ние намаляваме заявката допълнително в две стъпки, за да стане наистина проста.

За пощенските кутии ние знаем, че те винаги са възли:

И можем да премахнем по-голямата част от загадъчния синтаксис, който най-вече казва какво да правим с начините и отношенията. Можем да получим същия резултат като преди само с два реда.

Всички тези стъпки работят с маркер от Taginfo. Няма никаква магия. Той просто замества удобство = пощенска кутия със съответната стойност.

Някои стандартни функции

А какво ще кажете за допълнителния синтаксис? Нека ги прегледаме малко по малко. За да видим ефект, превключваме към заявка за ресторанти вместо пощенски кутии, защото тогава можете да видите ефекта при добавяне на поддръжка за начини.

Не всички ресторанти са картографирани като възли. Следователно ние също искаме да търсим начини и отношения:

Изпълнението на тази заявка ще доведе до съобщение, че липсва геометрия. Това е така, защото моделът на данни OpenStreetMap не свързва директно координатите с начините и отношенията. Вместо това начините и отношенията получават своята геометрия чрез разрешаване на техните референции на възли.

The навън statment има различни режими за справяне с този проблем по по-удобен начин: Можете да изберете например навън geom за да позволите на API за надхвърляне да разреши координатите вместо вас. Или използвате външен център за да свиете геометрията до една координата на обект:

Можем да поставим всички тези искания просто една след друга. След това получаваме резултатите един след друг и Overpass Turbo ги показва всички наведнъж.

Генерираните от Taginfo заявки вместо това използват последователността от тялото, & gt, навън skel qt. Това е само по исторически причини. Това по същество прави същото като навън geom но доставя елементи строго от модела на данни OpenStreetMap. Днес Overpass Turbo може директно да обработва резултатите от навън geom и външен център и доставените сурови данни са по-кратки.

Като последна стъпка правим заявката по-кратка:

Това все още има същия резултат като преди. Но ние поставихме ограничителното поле на едно място в началото на заявката. Важна причина да го направите е, че трябва да развиете навика да имате винаги ограничаваща кутия, освен ако наистина не искате резултати от цялата планета.

Ние също сме групирали заявка изявления от съюз изявление - това са скобите. Това позволява да има само един изходен оператор.

Генерираната заявка от Taginfo също използва две други глобални настройки: Първата е [вън: json]. Това може да е предимство, ако искате директно да прочетете върнатите данни. Можете да го направите на Данни раздела над изгледа на картата.

Вторият е [изчакване: 25]. Това ограничава времето за изпълнение на заявката до 25 секунди. Ако нещо се обърка, тогава ограничението гарантира, че нито сървърът, нито вие губите време. Подобно на Global Bounding Box, това е полезна предпазна мярка.

Общо стигаме до следното искане:

Редки етикети

Ако не знаете предварително къде бихте очаквали маркер, но ако сте почти сигурни, че няма много повече от няколкостотин елемента, можете да пуснете ограничителното поле.

Ако и вие оставите изчакване след това сървърът задава по подразбиране 180 секунди:

Други примери

В допълнение към тази страница, има още много примери в блога за разработчици на Overpass API. Има и връзки към конкретни примери от раздели по-долу.


2 отговора 2

Данните на Google Maps се доставят с много ограничения, така че всъщност не са подходящи като основа за по-нататъшна употреба.

Въпреки че може да бъде с различно качество, Open Street Map (OSM) все повече включва граници, както и пътища (пътища) и точки, и е Open Data (при условията на тяхното използване, включително приписване).

Данните за OSM са в XML формат (връзка за изтегляне в долната част на лявата колона в примера), която изброява връзките, начините и възлите в избраната граница. В хубав прост случай като тази граница на Acadia University, помощни програми като osmtogeojson трябва да могат да го преобразуват във формат за картографиране като geojson, но може да се бори с по-сложна вложена граница.

Сравнявайки Google Maps с OSM данните, ще видите, че има някои разлики с границите на кампуса (особено на север от Hwy 1 / Main St). Спорно е кое е по-точно, официалната карта на кампуса не показва никакви граници, но включва (например) сгради на запад от Уестууд, които нито Google, нито OSM включват в кампуса.

За по-общо решение, много страни вече имат онлайн файлове с граници на отворени данни, като GeoBase за Канада. Това е по-вероятно просто да бъдат административни области на правителството (провинции, общини, райдинги и т.н.) и могат да бъдат голямо количество данни, с които да се справим.


1 отговор 1

На първо място, може да искате да разделите набора си от данни на градове. Това вероятно ще даде по-добри резултати, отколкото да поддържате всичко заедно.

Тогава избраният инструмент вероятно е ELKI:

  1. Той съдържа много, много алгоритми за откриване на извънредни ситуации. По-специално, той има Local Outlier Factor (wikipedia), който точно се опитва да улови местните разлики в плътността
  2. Той поддържа геодезическо разстояние, с различни модели земя
  3. Той може да използва индекси на R-дърво за ускорение, така че 300k не е проблем (но все пак може да искате да разделите набора от данни за градовете, за по-добри резултати и без него хотел със заглавие "Чикаго", но с координати в Калифорния все още ще изглеждат нормални от координатите). Вече използвах 100 000 многомерни набора от данни и видях, че авторът използва 23 милиона туитове в клъстерирането.
  4. Отворен код, написан на Java.

Можете също така да проверите работата на авторите по персонализиране на откриването на извънредни страни. Това може да се наложи, ако искате да обработите всички 300 000 наведнъж и да използвате колоните на града и хотела. (Повечето методи са предназначени за числови данни!) От моята интерпретация на този модел може да искате да определите контекста като хотели в същия град и след това да сравните плътността.

Schubert, E., Zimek, A., & amp Kriegel, H. P. (2014).
Преосмислено локално откриване на отклонения: обобщен изглед за местността с приложения за пространствено, видео и мрежово откриване на отклонения.
Извличане на данни и откриване на знания, 28 (1), 190-237.

хммм. мислейки за вашия проблем, този също може да е от значение, откривайки изключения при данни за измерване на автомобилна катастрофа и радиация:

Schubert, E., Zimek, A., & amp Kriegel, H. P. (2014).
Генерализирано откриване на отклонения с гъвкави оценки на плътността на ядрото.
В Сборник от 14-та Международна конференция по извличане на данни SIM (SDM), Филаделфия, Пенсилвания.


Началната страница на Deep

Имам различни интереси към компютри, програмиране, ГИС и др. Целта на този уебсайт е да споделя различни ресурси и инструменти, събрани от мен.

Просто използвайте менюто в горната част на всяка страница за преглед на някой от разделите.

  • Диша
    Наградено, напълно безплатно приложение, което ви позволява да използвате вашия смартфон със сензор за местоположение за офроуд навигация. Има пълна поддръжка за индийската система Grid.
    Картирайте изображения, създадени специално за използване с Deesha от таблици на JOG.
  • Индийска решетка

      Информация за индийската мрежа, нейното използване и параметри.
      Преобразуване между геодезически координати (дължина / ширина) и координати на индийската мрежа.
  • Настройки за Garmin
    Конфигуриране на навигационни устройства на Garmin за използване на индийската система Grid.
    • Международна карта на света (IMW)
    • Индия и съседните страни (IAC)
      Намерете граници на картата за посочен номер на карта, намерете номер на карта за определено местоположение или конвертирайте между номера на карти на IAC и OSM.
    • Android

        От съображения за сигурност, приложение за криптиране / декриптиране на текст, използвайки AES 256-битово криптиране със симетричен ключ.
        За да запазите текста си защитен от традиционните филтри / ботове, изкривете текста с букви като Unicode символи.

      • Приложение за криптиране / декриптиране на обикновен текст и двоични файлове, използвайки AES 256-битово криптиране със симетричен ключ за обикновен текст.
        Java библиотека за добавяне на изскачащо меню и елементи от меню с общи текстови действия за текстови компоненти.
        Приложение, което дава полезна информация за Слънцето и Луната въз основа на отличните ефемериди от Томас Алонсо Алби.
        Клас Java за изчисляване на магнитна деклинация, сила на магнитното поле, наклон и т.н. за всяка точка на земята.

        Бърз клас за изчисляване на магнитно отклонение, сила на магнитното поле, наклон и т.н. за всяка точка на земята.
      • Слънчева луна калкулатор
        Бързо пристанище на отличните ефемериди (на Java) от Томас Алонсо Алби.

        Проверете дали теглото ви показва, че сте здрави според височината си.
        За дадено местоположение на приемника изчислете азимут, кота и т.н. на сателит въз основа на неговото местоположение или местоположение на сателит въз основа на неговия азимут и кота.
        Фонетично оформление на клавиатурата на Devanagari, базирано на Shusha за Linux.
      • WhatsApp Text Formatter
        Създавайте форматирани съобщения в WhatsApp с лекота за поставяне в WhatsApp Web.
        Отговорете на няколко въпроса, за да научите повече за себе си.

      В случай, че сте редовен посетител, проверете Новите неща от последното ви посещение.

      В случай на открити предложения, отзиви или грешки, моля не се колебайте да се свържете с мен.


      Импортирайте данни от OpenStreetMap в Unreal Engine 4

      Тази приставка ви позволява да импортирате OpenStreetMap XML данни във вашия Нереален двигател 4 проект като нов тип актив на StreetMap. Можете да използвате примера Компонент на уличната карта да направи улици и сгради.

      (Забележка: Този плъгин е просто забавен проект през уикенда и не се поддържа официално от Epic.)

      Лесно е да стартирате и да работите:

      Изтеглете източника на приставката StreetMap от тази страница (щракнете Клониране или изтегляне - & gt Изтеглете ZIP).

      Разархивирайте файловете в нов Карта на улицата подпапка под вашия проект Приставки папка. В крайна сметка трябва да изглежда така "/ MyProject / Plugins / StreetMap /"

      Възстановяване вашия C ++ проект. Новият плъгин също ще бъде компилиран!

      Заредете редактора. Вече можете да плъзгате и пускате XML файлове на OpenStreetMap (.osm) в браузъра за съдържание, за да импортирате картографски данни!

      Плъзнете и пуснете импортирани Актив на данните от уличната карта в прозореца за показване и a Актьор на уличната карта ще се генерира автоматично. Сега трябва да видите улиците и сградите си в прозореца за 3D изглед.

      Ако възстановяването е било успешно, но не виждате новите функции, проверете отново дали Карта на улицата приставката се активира, като щракнете върху Настройки бутона на лентата с инструменти, след което щракнете Приставки. Намерете Карта на улицата плъгин и се уверете Активирано се проверява.

      Ако сте нов в приставките в UE4, можете да намерите много информация точно тук.

      Получаване на данни от OpenStreetMap

      Юридически: Данните на OpenStreetMap са лицензирани под ODC Open Database License (ODbL). Ако използвате тези данни във вашия проект, уверете се, че разбирате и спазвате условията на този лиценз напр. търсете правните често задавани въпроси.

      Ето как да получите данни за местоположение, което ви интересува:

      За по-големи площи (повече от квартал или малък град) трябва да използвате Mapzen Extracts.

      Отидете на OpenStreetMap.org и използвайте функцията за търсене, за да отидете до вашия любимо място на Земята.

      Щракнете върху Износ в навигационната лента в горната част на страницата, в която да влезете Режим на експортиране.

      Превъртете и увеличете така, че регионът, който искате да експортирате, да запълни прозореца на браузъра ви. Започнете с нещо сравнително малко, така че експортирането и изтеглянето да завършат бързо. Опитайте да приближите малък град или градски блок.

      Когато сте готови, щракнете Износ наляво. OpenStreetMap ще генерирайте XML файл и инициирайте изтеглянето скоро.

      Ако искате да настроите фино правоъгълника, който е запазен, можете да щракнете върху „Ръчно изберете различна област“ в прозореца OpenStreetMap и да коригирате правоъгълник върху картата, която ще бъде експортирана.

      Имайте предвид, че много места могат да имат ограничена информация за геометрията на сградата. По-специално височината на сградите може да липсва или да е неправилна в много градове.

      Ако получите съобщение за грешка след щракване Износ, OpenStreetMap може да е твърде зает, за да побере заявката. Опитайте да щракнете API за надминаване или проверете някой от другите източници. Уверете се, че изтегленият файл има разширението ".osm", тъй като това ще очаква приставката. Можете да преименувате изтегления файл според нуждите.

      Разбира се, има много други места, където можете да намерите и необработени XML данни на OpenStreetMap в мрежата, но имайте предвид, че приставката досега е тествана само с файлове, експортирани директно от OpenStreetMap.

      Внимание: OSM обхваща реалния свят и включва само знания, основани на факти. Ако искате да създадете измислена карта, можете да използвате офлайн редактора на JOSM, за да създадете локален XML файл, който не качвате (!) В проекта.

      Можете лесно да допринесете за OSM, например за подобряване на родния си град. Просто се регистрирайте на www.openstreetmap.org и кликнете върху раздела за редактиране. Онлайн iD редакторът ви позволява да проследявате въздушни изображения и да добавяте POI лесно. За да научите повече подробности, просто погледнете тук:

      Моля, имайте предвид, че общността на проекта (жителите!) Е съществената част. Поради това е разумно да се свържете с близки до вас картографи, за да получите повече съвети за локално маркиране или неписани правила. Честито картографиране!

      Когато ти импортиране на OSM файл, приставката ще създаде нов Актив на Street Map за представяне на данните от картата в UE4. Можете да ги присвоите на Компоненти на уличната картаили директно взаимодействат с данните на картата в C ++ код.

      Пътищата се внасят с данни за пълна свързаност! Това означава, че можете да проектирате свои собствени навигационни алгоритми доста лесно.

      Позиционните данни на OpenStreetMap се съхраняват в географски координати (географска ширина и дължина), но UE4 не поддържа тази координатна система. Тоест, в момента не можем лесно да се справим със сферични светове в UE4. Така че по време на процеса на импортиране, ние проектираме всички координати на картата в плоска 2D равнина.

      Данните за OSM се импортират с двойна точност, но ние отрязваме всичко до единична прецизна плаваща запетая, преди да запазим нашия актив на UE4 карта на улицата. Ако планирате да работите с огромни набори от данни по време на изпълнение, ще трябва да промените това.

      Пример за изпълнение на a Компонент на уличната карта е включен, който генерира визуализирана мрежа от заредени улични и сградни данни. Това е много прост компонент, който можете да използвате като отправна точка.

      Примерната реализация създава персонализирана примитивна компонентна мрежа вместо традиционна статична мрежа. Причината за това беше да се даде възможност за по-гъвкаво поведение при изобразяване на градските улици и сгради или дори динамични аспекти.

      Всички данни за окото се генерират по време на зареждане от картографските данни в актива на картата, включително цветни пътни ивици и прости строителни мрежи с триъгълни полигони на покрива. По пътищата не се извършва сплайн интерполация.

      Генерираната мрежа на улична карта има цветове на върховете и нормали и можете да й зададете персонализиран материал. Ако искате да използвате вградените цветове, уверете се, че вашият материал умножава Vertex Color с Base Color. Мрежата е настроена да се визуализира много ефективно в едно обаждане. Пътищата са представени като прости четириъгълни ивици (без теселация). Все още не се поддържат координати на текстурата.

      Има различни променливи, които могат да се променят, за да се контролира как се генерира визуализираната мрежа. Можете да ги намерите в горната част на UStreetMapComponent :: GenerateMesh () функция тяло.

      (Street Map Component също служи като ясен пример за това как да напишете свои собствени примитивни компоненти в UE4.)

      Докато импортираме OpenStreetMap XML файлове, ние съхраняваме всички данни, които ни интересуват, в FOSM Файл структура на данните в паметта. Това съдържа данни, които са много близки до необработеното представяне в XML файла. Координатите се съхраняват като географски позиции в двойна точност с плаваща запетая.

      След зареждане на всичко в FOSM Файл, ние смиламе данните и ги конвертираме във формат, който може да се сериализира на диск и да се зарежда ефективно по време на изпълнение ( UStreetMap клас.)

      В зависимост от случая на употреба, може да искате да персонализирате силно UStreetMap клас за съхраняване на данни, които са по-близки до суровото представяне на картата. Например, ако искате да извършите широкомащабна GPS навигация, бихте искали данни с по-висока точност, налични по време на изпълнение.

      Има различни свободни краища.

      Импортирането на файлове, по-големи от 2 GB, ще се срине. Това е текущо ограничение на UE4.

      Някои варианти на генерирани OSM XML файлове няма да се заредят правилно. Например делиметрите с единични кавички около стойностите все още не се поддържат.

      Приложните програмни интерфейси на Street Map трябва да бъдат лесни за използване от C ++, но поддръжката на Blueprint не е била фокус на този плъгин. Много методи са очертани за висока производителност. Въпреки това могат да се добавят куки за скриптове на Blueprint, ако има търсене.

      Както бе споменато по-горе, координатите са пресечени до единична точност, което няма да е достатъчно за случаи на напреднала употреба. По същия начин географските координати не се запазват след началната фаза на внос. Всички координати се проектират върху равнина и се транспонират, за да бъдат спрямо центъра на ограничителния правоъгълник на картата.

      Структурите на данни по време на изпълнение са настроени да поддържат търсене на път (вж FStreetMapNode членски функции), но все още не е включено примерно изпълнение на GPS алгоритъм.

      Понастоящем генерираните мрежови данни са много прости и липсват информация за сблъсък, поддръжка на навигационни мрежи и няма координати на текстурата. Това всъщност е просто проектирано да служи като пример. За по-голяма гъвкавост при изобразяване и по-бърза производителност, вносителят може да бъде променен, за да генерира действителни активи от статична мрежа за геометрия на картата.

      Можете да търсите @да направя в изходния код на приставката за други незначителни подобрения, които биха могли да бъдат направени.

      Тази добавка изисква Visual Studio и проект на C ++ код или пълния изходен код на Unreal Engine 4 от GitHub. Ако сте начинаещ в програмирането в UE4, моля, вижте официалното Ръководство за програмиране!

      Приставката Street Map трябва да работи на всички платформи, които UE4 поддържа, но най-новата версия не е тествана на всяка платформа.

      Ще се опитаме да актуализираме изходния код, така че да работи с новите версии Unreal Engine, когато бъдат пуснати.

      Не планирам да актуализирам активно приставката редовно, но ако има някакви критични корекции, със сигурност ще се опитам да ги прегледам и интегрирам.

      За грешки, моля, подайте проблем, изпратете заявка за изтегляне или ме хванете в Twitter.

      И накрая, a много благодаря на фондация OpenStreetMap и фантастичната общност, които допринасят за картографски данни и поддържат базата данни.


      Настроики

      покажете това помощно съобщение и излезте

      избира площта за генериране на osm SRTM данни за ограничаващо поле. Ако е необходимо, файловете се изтеглят от сървъра на NASA. Посочете като & ltleft & gt: & ltbottom & gt: & ltright & gt: & lttop & gt съответно в градуси географска ширина и дължина. Географските ширини на юг от екватора и дългите на запад от Гринуич могат да бъдат дадени като отрицателни десетични числа. Ако е дадена тази опция, посочените hgt файлове ще бъдат пропуснати.

      използвайте многоъгълник FILENAME, изтеглен от http://download.geofabrik.de/clipbounds/, като граници за изходните контурни данни. Тогава времето за изчисление ще бъде малко по-голямо. Ако е посочено, ограничаващо поле се предава на --■ площ опцията ще бъде игнорирана.

      изтегляйте само необходимите файлове, не пишете контурни данни.

      посочете размера на стъпката на контурната линия в метри или футове, ако използвате --крака опция. Стойността по подразбиране е 20.

      извеждайте контурни линии в стъпки във фута, а не в метри.

      кажете това, ако не искате контурната линия на морското равнище (0 м) (която понякога изглежда доста грозна) да се появи в изхода.

      посочете префикс за имената на файловете на изходните osm файлове.

      посочете префикса за файловете, в които да записвате данни за дължина / ширина / височина, вместо да генерирате контур osm.

      укажете низ от две цели числа, разделени със запетая, за големи и средни категории кота, напр. ж. „200 100“, което е по подразбиране. Това е необходимо за фантастично изобразяване.

      брой задания, които да се изпълняват паралелно (само POSIX)

      предайте номер като OSM-VERSION, който да използвате за изхода. Стойността по подразбиране е 0,6. Ако имате нужда от по-стара версия, опитайте 0.5.

      напишете атрибута на клеймото за време на елементи на възел и път в OSM XML и o5m изход. Това може да е необходимо на някои преводачи. В изхода o5m това също задейства писане на набор от промени и потребителска информация.

      укажете цяло число като id на първия записан възел в изходния OSM xml. По подразбиране е 10000000, но някои OSM xml сливания се сблъскват с проблеми при среща с уникални идентификатори. В този случай и за момента е безопасно да кажем 10000000000 (десет милиарда) тогава.

      укажете цяло число като id на първия записан начин в изходния OSM xml. По подразбиране е 10000000, но някои OSM xml сливания се сблъскват с проблеми при среща с уникални идентификатори. В този случай и за момента е безопасно да кажем 10000000000 (десет милиарда) тогава.

      посочете цяло число като максимален брой възли на генерирана плочка. По подразбиране е 1000000, което е приблизително максималният брой възли, обработени правилно от mkgmap. За по-големи плочки опитайте по-високи стойности. За изход на един файл, кажете 0 тук.

      посочете цяло число като максимален брой възли в посока. По подразбиране е до 2000, което е максималната стойност за OSM api версия 0.6. Кажете 0 тук, ако искате неразделени начини.

      опростете контурните линии, използвайки алгоритъма Ramer-Douglas-Peucker (RDP) с тази стойност на EPSILON. Колкото по-голяма е стойността, толкова по-опростени са контурните линии. Предадената стойност ще бъде използвана директно, т.е. д. в случай на базирани на WGS84 референтни системи като EPSG: 4326, предадената стойност се интерпретира съответно като градуси на географска ширина и дължина. Използвайте стойност 0,0, за да премахнете само върховете на прави линии. Значимите стойности за намаляване на размера на изходния файл, като същевременно се запазва резонансната точност, зависят от разделителната способност на файла. За SRTM3 данни някои стойности между 0,0001 и 0,0005 изглеждат разумни, намалявайки размера на файла с нещо като една или две трети. Имайте предвид, че използването на опростяване на контурната линия ще забави генерирането на контурната линия. По подразбиране не се използва RDP.

      Не изтривайте всички върхове, докато опростявате контурна линия с помощта на RDP, а изтривайте само точки в този диапазон. По подразбиране е изтриване на всички незадължителни върхове. Използвайте тази опция само ако искате да се възползвате от RDP, но се нуждаете от някакви близко разположени точки поради проблеми с изобразяването или така. Използването на тази опция драстично ще забави генерирането на контурна линия.

      включете gzip компресиране на изходни файлове. Това намалява необходимото дисково пространство, но води до по-голямо време за изчисление. Посочете цяло число между 1 и 9. 1 означава ниска компресия и по-бързо изчисление, 9 означава висока компресия и по-ниско изчисление.

      напишете протобуф двоични файлове вместо OSM XML. Това намалява необходимото дисково пространство. Уверете се, че програмите, с които искате да използвате изходните файлове, могат да анализират pbf. Изходните файлове ще имат разширение .osm.pbf.

      напишете o5m двоични файлове вместо OSM XML. Това намалява необходимото дисково пространство. Уверете се, че програмите, с които искате да използвате изходните файлове, могат да анализират o5m. Изходните файлове ще имат разширение .o5m.

      използвайте SRTM резолюция на SRTM-RESOLUTION дъгови секунди. Възможните стойности са 1 и 3, стойността по подразбиране е 3. За различните версии на данните за SRTM и покритие на картата вижте --srtm-версия опция.

      използвайте тази ВЕРСИЯ на SRTM данни. Поддържаните версии на SRTM са 2.1 и 3. Версия 2.1 има кухини, които са попълнени във версия 3 с помощта на ASTER GDEM и други данни. Във версия 2.1 само територията на САЩ е включена във втория набор от данни с 1 дъга. Във версия 3 е покрит почти целият свят. По подразбиране за тази опция е 3. Ако искате старата версия, кажете --srtmversion=2.1 тук

      потребителското име, което да се използва за вход в earthexplorer. Това е необходимо, ако искате да използвате източници на NASA SRTM във версия 3.0. Ако все още нямате вход за earthexplorer, посетете https://ers.cr.usgs.gov/register/ и създайте такъв. След като бъде определен, phyghtmap ще съхранява идентификационните данни за вход в earthexplorer нешифровани във файл, наречен '.phyghtmaprc' във вашата домашна директория. Т.е., трябва само да посочите тази опция (и --earthexplorer-парола опция) веднъж. В допълнение, паролата, посочена в командния ред, може да бъде прочетена от всеки потребител във вашата система. Така че, не избирайте парола, която не искате да се разкрива на другите. Тази опция трябва да бъде посочена в комбинация с --earthexplorer-парола опция.

      паролата, която да се използва за вход в earthexplorer. Тази опция трябва да бъде посочена в комбинация с --earthexplorer-потребител опция. За допълнително обяснение вижте помощта, предоставена за --earthexplorer-потребител опция.

      ако е посочено, данните на NASA SRTM се маскират с данни от www.viewfinderpanoramas.org. Възможните стойности са 1 и 3 (за обяснение вж --srtm опция).

      посочете списък с източници, които да използвате като низ, разделен със запетая. Налични източници са 'srtm1', 'srtm3', 'view1' и 'view3'. Ако е посочено, източникът на данни ще бъде избран, като се използва тази опция като списък с предпочитания. Посочване --източник=изглед3, srtm3 например ще предпочете данни от визьора 3 дъгови секунди пред NASA SRTM 3 дъгови данни. Вижте също --srtm-версия опция за различни версии на SRTM данни.

      правилно х отместване на контурните линии. Настройка на - corrx=0Отчетено е, че .0005 дава добри резултати. Изглежда обаче, че правилната настройка зависи от това къде се намирате, така че може би е по-добре да започнете с 0 тук.

      правилно изместване на контурните линии. Настройка на - кари=0Отчетено е, че .0005 дава добри резултати. Изглежда обаче, че правилната настройка зависи от това къде се намирате, така че може би е по-добре да започнете с 0 тук.

      Кеш директория за hgt файлове. Изтеглените SRTM файлове се съхраняват в кеш директория за по-късна употреба. Директорията по подразбиране за това е ./hgt/ в текущата директория. С тази опция можете да посочите друга кеш директория.

      пренапишете индексните файлове и излезте. Опитайте това, ако phyghtmap среща проблеми при изтегляне на файлове с данни.

      разширете диапазона на стойностите на кухини до тази височина. Файловият формат hgt използва стойност на void, която е -0x8000 или, по отношение на десетичните числа, -32768. Някои hgt файлове съдържат други отрицателни стойности, които са неправдоподобни като стойности на височина, напр. ж. -0x4000 (-16384) или подобен. Тъй като най-ниското място на земята е около -420 m под морското равнище, трябва да е безопасно да се каже -500 тук в случай, че срещнете странно поведение на phyghtmap, като например прекъсване на програмата поради надвишаване на максимално разрешения брой рекурсии.


      Опции за изграждане

      В зависимост от типа на компилация (вижте по-горе), различните опции за компилация са ВКЛЮЧЕНИ или ИЗКЛЮЧЕНИ. Можете да промените настройките в ccmake или в командния ред с нещо като

      Опция за изграждане По подразбиране Описание
      BUILD_BENCHMARKS ИЗКЛ. (ВКЛ. В Dev build) Изградете еталонните програми. Това ви трябва само ако възнамерявате да стартирате бенчмарковете.
      BUILD_DATA_TESTS ИЗКЛ. (ВКЛ. В Dev build) Изградете тестове за данни. Тези тестове се нуждаят от OSM тестови данни от различно хранилище, така че те са малко по-трудни за изпълнение. Вижте глава Изпълнение на тестове за подробности.
      BUILD_EXAMPLES НА Изградете примерите в директорията с примери.
      BUILD_HEADERS ИЗКЛ. (ВКЛ. В Dev build) Интересно само за разработчиците на Libosmium. Това ще изгради всеки заглавен файл на Libosmium от само себе си, за да провери дали зависимостите за включване са зададени правилно.
      BUILD_TESTING НА Изградете модулните тестове. Вижте глава Изпълнение на тестове за подробности.


      & # 8220Това може би е твърде мрачно, дори за нас. & # 8221

      Някъде по времето, когато добавихме поддръжка за машинните маркери на Open Plaques, Франки Роберто, ръководителят на проекта, попита: & # 8220 Какво ще кажете за поддръжката на машинни маркери на Open Street Map (OSM)? & # 8221

      Моят незабавен отговор беше нещо от сорта на & # 8220That & # 8217s може би малко прекалено мрачно, дори за нас. & # 8221 Което означаваше, че продължавах да мисля за това. И сега го правим.

      Ако & # 8217 не сте сигурни какъв е начинът & # 8220 & # 8221, най-добре е да започнете с OpenStreetMap & # 8217s собствено описание на това как са структурирани техните метаданни:

      Нашите карти са съставени само от няколко прости елемента, а именно възли, начини и отношения. Всеки елемент може да има произволен брой свойства (известни още като тагове), които са двойки ключ-стойност (напр. Магистрала = първичен) & # 8230

      Възелът е основният елемент на OSM схемата. Възлите се състоят от географска ширина и дължина (една геопространствена точка) & # 8230

      Начинът е подредена взаимовръзка от поне 2 и най-много 2000 възли, които описват линейна характеристика като улица или подобна. Ако достигнете ограничението на възела, просто разделете пътя си и групирайте всички начини във връзка, ако е необходимо. Nodes can be members of multiple ways.

      Frankie’s interest is principally in marking up buildings in and around Manchester, where he lives. When he tags one of his photos with osm:way=30089216 we can fetch the metadata (the key-value pairs) for that way using the OSM API and see that it has the following properties:

      That allows to us “expand” the original machine tag and display a short caption next to the photo, in this case: “St George’s House is a building in OpenStreetMap” with a link back to the web page for that way on the OSM site.

      You may have noticed that there are a bunch of other key-value pairs in that example, like the name of the architect, that we don’t do anything with. Which attributes are we looking for, then? The short answer is: Not most of them. The complete list of map features in OSM is a bit daunting in scope and constantly changing. It would be nice to imagine that we could keep pace with the discussions and the churn but that’s just not going to happen. If nothing else, the translations alone would become unmanageable.

      Instead we’re going to start small and see where it takes us. Here are the list of tagged features in a way or node definition that we pay attention to, and how they’ll be displayed:

      k=name v=
      … is a feature in OpenStreetMap (If present, with another recognized tag we will display the name for the thing being described in place of the more generic “this is a…”)

      k=building v=yes
      … is a building in OpenStreetMap

      k=cycleway
      … is a bicycle path in OpenStreetMap

      k=motorway (v=cycleway)
      … is a highway in OpenStreetMap (unless v is “cycleway” in which case it’s a bike path)

      k=railway v=subway (or tram or monorail or light_rail)
      … is a subway (or tram or monorail or light_rail) line in OpenStreetMap

      k=railway v=station
      … is a train station in OpenStreetMap if the type of railway is also defined (above) then we’ll be specific about the type of station. I should mention that as of this writing we’re still waiting for the translations for “this is a train station” to come back because I, uh… anyway, real soon now.

      k=waterway v=stream (or canal or river)
      … this is a stream (or canal or river) in OpenStreetMap

      k=landuse v=farm (or forest)
      … this is a farm (or forest) in OpenStreetMap

      k=natural v=forest (or beach)
      … this is a forest (or beach) in OpenStreetMap

      Which means: We’ve almost certainly got at least some of it wrong. Anyone familiar with OSM features will probably be wondering why we haven’t included amentiy or shop tags since they contain a wealth of useful information. I hope we will, but it wasn’t clear how we should decide which features to support (more importantly, which to exclude) and the number of possible combinations were starting to get a bit out of hand and we have this little photo-sharing site to keep running.

      This is the part where I casually mention that we’ve also added alpha shapes and “donut holes”, derived from geotagged photos, and some of it is just trying to shine the spotlight on places and environments that we take for granted.

      Like I said, we’ve almost certainly got at least some of it wrong but hopefully we got part of it right and can correct the rest as we go. This one is definitely a bit more of an experiment than some of the others.

      Finally, in the tangentially related department we finished wiring up the RSS/syndication feeds to work properly with wildcard machine tags. That means you can subscribe to a feed of all the (public) photos tagged with osm:way= or osm:node= or, if you’re like me, all the photos of places to eat in Dopplr with dopplr:eat= .


      Гледай видеото: OpenStreetMap iD editor - How to add a line residential road