Comments 20
можно попросить добавить еще разделение на длину track и всех остальных видов дорог
ну и убрать из дорог длину объектов, не относящихся к дорогам, к примеру, highway=bus_stop и подобные :)
OSM никогда не славилась точностью и полнотой, в особенности много ошибок попадалось именно в дорожной сети.
А можете привести доказательства? Я знаю как минимум 3 области в мире где данные OpenStreetMap лучше по качеству и полноте чем в альтернативных сервисах. И за дорожную сеть одного из островов ручаюсь!
По моему субъективному впечатлению (ни коим образом не претендую на его правильность, тем более в глобальном масштабе) OSM превосходит все прочие источники, кроме разве что специализированных платных карт, в местах, популярных для пешего туризма. Находится на уровне с картами Гугла (в России - Яндекса) в крупных городах и их окрестностях. Но катастрофически отстаёт в нетуристической провинции. Опять же за редкими исключениями, какой-то деревне, возможно, и повезло, что в ней проживает картограф-энтузиаст :)
по мне так кажется наоборот :)
в многих загородных тур.локациях осм просто рвет яндекс с гуглом как тузик грелку.
те же кавказские горы отлично отрисованы. гулял по окрестностям архыза - у яндекса с гулом там терраинкогнита.
а также Таганай, Белуха, Северочуйский хребет, Ергаки, Хибины с Ловоозерами и прочие места тур.интересов, чем интересовался, имеют хорошую прорисовку.
хотя конечно и куча слабо отрисованных мест.
Мне про острова совсем не интересно, возможно там лучшие в мире OSM. Отрицательный опыт именно для данных на РФ.
Спасибо! Добавил tags->'highway' not in ('platform','bus_stop','corridor','rest_area')
Может уже готовую базу выложить куда-то?
Была похожая идея. Вопрос цены траффика и стоимости поддержки актуальности данных. Postgres Professionalвозможно в рунете похоже на заинтересованую в этом компанию, как пример открытых данных для PostgreSQL, кроме их демонстрационной учебной базы авиасообщения
Добрый день! Серия постов классная)
Вопрос: на поле tags индекса не создаётся?
18-40 секунд как будто могут быть сильно ускорены если jsonовские операторы заюзать.
Добрый день! Нет, индекса по тегам нет. частичный индекс возможно бы помог или одна из опций моей утилиты и колоночное хранилище( даже с фулсканом). Но идея была сделать запросы в примерах 100% pgSnapshot совместимыми
Преобразование linestring::geography
и вычисление ST_Length
для типа данных geography увеличивает время вычислений почти в 4 раза. explain analyze рассказывает всю правду
Как пример:
osmworld=# select tags->'highway',sum(ST_Length(linestring))
from ways where tags->'highway' is not null
and tags->'highway' not in ('platform','bus_stop','corridor','rest_area')
group by 1 having count(*)>=100 order by 2 desc;
?column? | sum
----------------+--------------------
track | 21016.329413232786
residential | 7246.446559649292
unclassified | 7093.925650913118
service | 6286.767233940865
tertiary | 4668.329094740141
path | 2407.5496877013657
secondary | 1660.2591757958864
footway | 1214.5346691872876
primary | 1020.4663783749317
trunk | 909.3206691425914
living_street | 168.2725902612249
road | 164.23727750160705
construction | 82.287785913495
proposed | 57.60159806162047
motorway | 40.85539334526912
pedestrian | 23.39452558351217
cycleway | 21.205647976403945
bridleway | 18.511348262166624
trunk_link | 17.925920708517584
primary_link | 16.523451447222552
steps | 13.766753046654827
secondary_link | 13.391547900743518
raceway | 11.69684264930899
tertiary_link | 11.470325674073857
motorway_link | 0.7538347086666974
services | 0.5373150013461613
(26 rows)
Time: 13943,881 ms (00:13,944)
osmworld=# select tags->'highway',sum(ST_Length(linestring::geography))
osmworld-# from ways where tags->'highway' is not null
osmworld-# and tags->'highway' not in ('platform','bus_stop','corridor','rest_area')
osmworld-# group by 1 having count(*)>=100 order by 2 desc;
?column? | sum
----------------+--------------------
track | 1658443546.8776414
residential | 587152341.7268281
unclassified | 545354890.8040886
service | 495729464.5068486
tertiary | 368264397.39168483
path | 182206284.23869514
secondary | 131110086.46780892
footway | 95751608.42595035
primary | 79216830.9029651
trunk | 71018537.48982106
living_street | 13574414.604529094
road | 11523156.260820344
construction | 6261486.030197535
proposed | 4289390.179882147
motorway | 3227661.2835875256
pedestrian | 1870760.8457512972
cycleway | 1672617.3291957055
trunk_link | 1463525.7298084956
bridleway | 1432662.491510694
primary_link | 1316043.3831060673
steps | 1114401.0351566526
secondary_link | 1056874.1903738207
raceway | 939396.1632468842
tertiary_link | 915645.7837253496
motorway_link | 54267.4267808306
services | 41741.30065791015
(26 rows)
Time: 43784,570 ms (00:43,785)
osmworld=# explain analyze select tags->'highway',sum(ST_Length(linestring::geography))
osmworld-# from ways where tags->'highway' is not null
osmworld-# and tags->'highway' not in ('platform','bus_stop','corridor','rest_area')
osmworld-# group by 1 having count(*)>=100 order by 2 desc;
Time: 44020,349 ms (00:44,020)
Проблема оценки качества покрытия, что скоро весна и асфальт вместе со льдом "утечёт". Летом-осенью зальют.
И по новой.
И ещё, дорожники любят лепить лоскуты по 50-100-200 метров. Я искал как такое безобразие адекватно отобразить, не нашёл. Существующие варианты лепки отрезков плохи тем, что потом "починят" и надо опять отрезки "гонять".
Для удобной и быстрой отметки покрытия дорог используйте мобильное применение StreetComplite.

Спасибо, отличное ПО! Использовал его на Fuvahmulah и иногда это приложение позволяет добавить последние штрихи, там где казалось бы уже лучше карту не сделаешь, как например дополнил остров mustermannxx
Ооо! Какое классное приложение, прямо "джва года ждал" такое. Теперь будет как с пользой прогулки провести.
Две беды: дороги и полнота данных. Считаем протяженность дорог родины по данным OpenStreetMap