You are not logged in.
- Topics: Active | Unanswered
Announcement
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***
#1 2016-01-18 18:15:03
- Динарный
- Member
- Registered: 2015-12-18
- Posts: 9
Требуется создать несколько запросов для overpass-turbo.eu (фриланс)
Требуется создать несколько запросов для overpass-turbo.eu за вознаграждение.
Нужен человек, умеющий составлять запросы для Overpass API. Сами запросы будут вводиться здесь: http://overpass-turbo.eu/
1) Полигон вокруг административной границы заданного государства. Главное, чтобы морская граница строилась по береговой линии. Чтобы была понятна разница, сравните следующие результаты на примере Польши.
Морская граница проходит на удалении от береговой линии, такой результат меня не устраивает:
http://www.openstreetmap.org/relation/49715 (объект прорисовывается не сразу, нужно подождать)
Нужно получить следующий результат, когда морская граница строится по береговой линии:
http://www.openstreetmap.org/relation/936128
К сожалению, как получить этот результат с границей по береговой линии для других стран, я не знаю. И здесь мне нужна помощь.
Далее я получаю координаты полигона в виде geojson через этот сервис: http://polygons.openstreetmap.fr/ ,вводя id отношения. Моя конечная цель это файл .geojson, в котором содержаться координаты полигона, опоясывающего границы государства.
2) Полигон вокруг острова, построенный по береговой линии.
В настоящий момент полигоны получаю следующим образом. В overpass-turbo.eu делаю запрос следующего содержания:
/*
This query looks for nodes, ways and relations
with the given key/value combination.
Choose your region and hit the Run button above!
*/
[out:json][timeout:25];
// gather results
(
// query part for: “natural=coastline”
node["natural"="coastline"]({{bbox}});
way["natural"="coastline"]({{bbox}});
relation["natural"="coastline"]({{bbox}});
);
// print results
out body;
>;
out skel qt;далее выделяю нужный остров на карте, затем экспортирую результаты в .geojson.
Проблема в том, что с помощью рамки сложно произвести качественное выделение береговой линии одного конкретного острова так, чтобы в geojson не попали координаты полигонов соседних маленьких островов. Требуется составить такой запрос, в котором бы происходила фильтрация, чтобы по названию или идентификатору острова можно было получить координаты полигона его границ.
Нужно, чтобы в готовом скрипте можно было поменять лишь один параметр, отвечающий за то, береговые границы какого острова нужно получить на выходе.
3) Нужно получить координаты линии, которая будет проложена вдоль определённой дороги.
К примеру этот запрос выдаёт все типы дорог, в выбранном участке карты
/*
This has been generated by the overpass-turbo wizard.
*/
[out:json][timeout:25];
(
way["highway"="living_street"] ({{bbox}});
way["highway"="motorway"] ({{bbox}});
way["highway"="primary"] ({{bbox}});
way["highway"="secondary"] ({{bbox}});
way["highway"="tertiary"] ({{bbox}});
way["highway"="unclassified"] ({{bbox}});
way["highway"="residential"] ({{bbox}});
way["highway"="service"] ({{bbox}});
);
out body;
>;
out skel qt;но мне нужно получить координаты определённой улицы.
Оплата 500р яндекс-деньгами.
Offline
#2 2016-01-18 20:27:29
- freeExec
- Moderator
- From: Ульяновск,Модератор всех слоёв
- Registered: 2012-07-31
- Posts: 8,547
Re: Требуется создать несколько запросов для overpass-turbo.eu (фриланс)
Думается, что выдавливание границ вы не сделаете с помощью OvP, проще будет в какой нибудь qgis.
Ну а конкретную улицу
[out:json][timeout:25];
(
way["highway"]["name"="улица Ленина"]({{bbox}});
);
out body;
>;
out skel qt;Или даже вот так
[out:json][timeout:25];
{{geocodeArea:Самара}}->.searchArea;
// gather results
(
way["highway"]["name"="улица Ленина"](area.searchArea);
);
out body;
>;
out skel qt;С вас 250 р. ![]()
Last edited by freeExec (2016-01-18 20:31:05)
Offline
#3 2016-01-19 10:05:51
- tbicr
- Member
- Registered: 2014-04-02
- Posts: 197
Re: Требуется создать несколько запросов для overpass-turbo.eu (фриланс)
Я не нашёл чтобы overpass позволял делать geom intersection.
Можно попробовать брать геометрию страны и делать intersection по http://openstreetmapdata.com/data/land-polygons.
way["highway"]["name"="улица Ленина"](area.searchArea);не нейдёт если что-то вне населённого пункта, дополнительно можно искать по addr:city.
Offline
#4 2016-01-19 10:08:11
- freeExec
- Moderator
- From: Ульяновск,Модератор всех слоёв
- Registered: 2012-07-31
- Posts: 8,547
Re: Требуется создать несколько запросов для overpass-turbo.eu (фриланс)
Есть улицы вне населённого пункта? Чьим же актом их назвали ![]()
Offline
#5 2016-01-19 10:15:54
- edward17
- Member
- Registered: 2013-08-26
- Posts: 1,849
- Website
Re: Требуется создать несколько запросов для overpass-turbo.eu (фриланс)
дополнительно можно искать по addr:city.
addr:city=* не ставится на улицы.
Все жители частного сектора, вешающие таблички с названием улицы и номером дома, попадают в рай без очереди.
Offline
#6 2016-01-19 11:30:06
- dkiselev
- Member
- Registered: 2010-02-09
- Posts: 3,364
Re: Требуется создать несколько запросов для overpass-turbo.eu (фриланс)
Есть улицы вне населённого пункта? Чьим же актом их назвали
В ОСМ могут быть. (Достаточно сломать границу Москвы и все московские улочки будут лежать в поле).
В задании же вроде ничего не говорится про то в городе улица или нет.
Так то геометрию улицы по адресу проще у Номинатима спросить.
mail: dkiselev@osm.me skype: dmitry.v.kiselev
Open Street Maps are supreme! Exterminate all map forms! Exterminate! Exterminate!
Offline
#7 2016-01-19 11:33:53
- wowik
- Member

- From: Zelenograd
- Registered: 2009-09-29
- Posts: 9,369
Re: Требуется создать несколько запросов для overpass-turbo.eu (фриланс)
addr:city=* не ставится на улицы.
От чего ж?
Если нет контура НП, как точно узнать, что улица и дом в том же НП и в каком собственно?
Одинаковый addr:city вполне помогает.
Offline
#8 2016-01-19 12:11:24
- edward17
- Member
- Registered: 2013-08-26
- Posts: 1,849
- Website
Re: Требуется создать несколько запросов для overpass-turbo.eu (фриланс)
edward17 wrote:addr:city=* не ставится на улицы.
От чего ж?
Если нет контура НП, как точно узнать, что улица и дом в том же НП и в каком собственно?
Одинаковый addr:city вполне помогает.
А, не знаю.
Почему-то подумал, что addr:city=* ставится только на дома.
Все жители частного сектора, вешающие таблички с названием улицы и номером дома, попадают в рай без очереди.
Offline
#9 2016-01-19 12:30:13
- freeExec
- Moderator
- From: Ульяновск,Модератор всех слоёв
- Registered: 2012-07-31
- Posts: 8,547
Re: Требуется создать несколько запросов для overpass-turbo.eu (фриланс)
А если нет контура НП, то надо ставить addr:city и на природные объекты, а то откуда же мы узнаем, что этот кусок русла проходит по НП
И эти ЛЭП тоже, да и про рельсы не стоит забывать, везде, везде надо ставить addr:city, без него никак.
Offline