Показаны сообщения с ярлыком источники. Показать все сообщения
Показаны сообщения с ярлыком источники. Показать все сообщения

WIkipedia и Wikidata - показываем объекты на карте

Очень интересные источники - Wikipedia и его собрат Wikidata. Размещаем "энциклопедические" данные на карте не без помощи Excel. Все решения собраны по кусочкам, системного подхода предложить не могу. Чаще всего ответы находятся либо в примерах, либо на форумах с похожими вопросами.

Все запросы я отправляю через браузер - для новичков, включая меня, это вполне подходящий вариант.

Wikipedia и пространственный поиск

В случае Wikipedia есть справка по пространственному поиску статей, в которых даны координаты, и парочка готовых примеров, их можно посмотреть по ссылке на одну из страниц MediaWiki API.

Например: https://en.wikipedia.org/w/api.php?action=query&list=geosearch&gsradius=10000&gscoord=37.786971|-122.399677

Главное в этом запросе - это координаты точки, вокруг которой с заданным радиусом ggsradius собираются статьи. 

Важно: можно задать максимальный радиус поиска в 10 км, но в крупном городе лучше ставить куда меньше (в радиус 10 км могут попросту не попасть все объекты из-за ограничения на 500 объектов). Для центра Москвы неплохо сработал 1 км.

Если поменяем en на ru, то получим поиск в русскоязычном сегменте Википедии.

https://ru.wikipedia.org/w/api.php?action=query&generator=geosearch&redirects=1&prop=coordinates|langlinkscount|info&ggslimit=500&ggsradius=1000&ggscoord=55.75|37.55&colimit=500&format=json



В запросе выше поиск статей ведется на русском языке, точка взята в Москве, ggslimit = 500 - то есть мы запрашиваем максимум статей, формат json. Важное добавление langlinkscount - количество статей на других языках, что позволит нам как-то определить значимость статьи. Чаще всего с высокими показателями (если отбросим названия региона или города) окажутся местные достопримечательности и спортивные объекты.

Вместо точки ggscoord можно указать рамку для поиска gsbbox=широта верхнего левого угла|долгота верхнего левого угла|широта нижнего правого угла|долгота нижнего правого угла. В принципе, оптимально территорию разбить на квадраты и по ним создавать множество запросов.

Ну и напоследок пример с добавлением количества просмотров статьи (получено таким же методом поиска подобных решений):

https://ru.wikipedia.org/w/api.php?action=query&generator=geosearch&redirects=1&prop=coordinates|pageviews|langlinkscount|info&ggslimit=500&ggsradius=1000&ggscoord=55.75|37.55&colimit=500&format=json&pvipmetric=pageviews&pvipcontinue=


Статистика приходит за 60 дней, и ее надо бы суммировать на лету, но я пока до этого не добрался. Видимо, надо садиться за Python. Мы же ограничимся операциями в Excel.

В каждом ответе есть pageid, но нет ссылки на саму статью. Конкретный адрес статьи можно получить по такой схеме https://ru.wikipedia.org/?curid=365390 , где значение pageid подставляем после curid и переходим по такому адресу на саму статью.

Сохраним наш ответ на диск, если браузер это не сделал за нас (хотя можно вставить адрес запроса прямо в Excel)

JSON в Excel и в QGIS

Как эту красоту загрузить на карту? Я предлагаю это сделать через Excel. Формат json по своей структуре иерархичен, допускает вложенности атрибутов и прочее. То есть это не табличный формат. Здесь без видео будет трудновато.

Поиск в Wikidata

Wikidata - это база знаний (подробнее можно почитать здесь), которая в первую очередь дает нам объект (будь-то здание, человек, город или историческое событие) и его описание на основе утверждений. В том числе страница Викидаты часто содержит и ссылки на Википедию.

Запрос выполняется на языке SPARQL, похожем на SQL.

Длинные и размеренные видео в таких случаях очень полезны, советую для понимания базы https://youtu.be/kJph4q0Im98 Помимо этого, конечно, можно изучить большое количество примеров https://www.wikidata.org/wiki/Wikidata:SPARQL_query_service/queries/examples

А вот и несколько вариантов запросов, которые составил я для своих нужд.

Вариант с точкой и радиусом (адрес запроса https://w.wiki/nC2 )

SELECT ?place ?placeLabel ?location ?period ?fame ?distance
WHERE
{
  SERVICE wikibase:around { 
      ?place wdt:P625 ?location . 
      bd:serviceParam wikibase:center "Point(37.55 55.75)"^^geo:wktLiteral.
      bd:serviceParam wikibase:radius "10". # kilometers
      bd:serviceParam wikibase:distance ?distance. 
  } 
    ?place wikibase:sitelinks ?fame .
    OPTIONAL { ?place wdt:P571 ?period }.
#    FILTER NOT EXISTS { 
#    {?place wdt:P31 wd:Q123705 .}
#      UNION
#    { ?place wdt:P31 wd:Q7553685 .}
#    }
  SERVICE wikibase:label {
    bd:serviceParam wikibase:language "ru" . 
  }
}

Вариант с охватом по рамке(https://w.wiki/nBr):

SELECT ?place ?placeLabel ?location ?period ?fame
WHERE
{
  SERVICE wikibase:box { 
      ?place wdt:P625 ?location . 
      bd:serviceParam wikibase:cornerSouthWest "Point(37.55 55.70)"^^geo:wktLiteral.
      bd:serviceParam wikibase:cornerNorthEast "Point(37.70 55.80)"^^geo:wktLiteral.
  } 
    ?place wikibase:sitelinks ?fame .
    OPTIONAL { ?place wdt:P571 ?period }.
  
  SERVICE wikibase:label {
    bd:serviceParam wikibase:language "ru" . 
  }
}

Больше информации о пространственных запросах можно прочесть в статье Geospatial search for Wikidata Query Service и в справке Wikidata


Загрузка в QGIS

Если мы сохраним результат запроса в формат CSV, то дальше мы столкнемся с типовым описанием геометрии в виде текста, с чем хорошо справится QGIS.

Источники открытых геоданных

ПОДГОТОВЛЕННЫЕ ДАННЫЕ ПО МОСКВЕ


Openstreetmap

OpenStreetMap - это застройка, транспорт, землепользование, точки интереса и многое другое. Создание любых градостроительных схем в масштабах 1:2000 и мельче (за исключением рельефа) В OpenStreetMap основная проблема - точность данных и их полнота.


USGS (растровые данные)

Сайт Американской Геологической службы (USGS) - это основной источник данных по рельефу Земли и различного рода данным дистанционного зондирования (ДЗЗ). Самый популярный набор - это т.н. SRTM (Space Radar Topography Mission - ссылка), которая была осуществлена в 2000 году. Охват - 80% территории Земли, рельеф грубый, на месте высоких зданий холмы . Есть и альтернатива ASTER GDEM , больший охват
Рельеф (цифровая модель высот):


Геопорталы, порталы открытых данных

Официальные геопорталы и открытые данные РФ. Яркий пример - портал data.mos.ru, где можно найти сведения о велопарковках, ярмарках выходного дня, вестибюлях метрополитена и многое другое. Полезный ресурс Министерства культуры РФ с объектами культурного наследия по всей территории России. Можно сказать, что каждый субъект РФ выкладывает те или иные сведения в открытый доступ, но не везде данные могут быть полезны для архитектора.

Портал открытых данных по Москве https://data.mos.ru/ (часть данных только через API)
Открытые данные Министерства культуры РФ http://opendata.mkrf.ru/opendata/
Геопортал Нью-Йорка http://maps.nyc.gov/doitt/nycitymap/
Геопортал Берлина (вкл.3D-здания!) http://www.businesslocationcenter.de/wab/maps/main/

Примеры геопорталов и ресурсов открытых геоданных по различным городам и странам


Сборник геопорталов и открытых данных http://gisgeo.org/data.html
По миру http://freegisdata.rtwilson.com/

Исторические карты и фотографии очень удобно просматривать на сайтах retromap.ru, etomesto.ru, pastvu.com. ГИС в основе этих сервисах позволяет сравнить очень быстро различные исторические периоды.
Исторические карты http://retromap.ru/ (привязанные архивные карты, только просмотр)
Архивные фото на карте https://pastvu.com/ (архивные фото на карте, только просмотр)

Коммерческие геоданные

Кроме бесплатных, открытых геоданных есть и вариант получить более качественные данные за деньги.
Данные по рельефу и различного рода космоснимки можно посмотреть, например, на сайте Airbus.
А сведения по городской застройке на территорию РФ можно купить у 2ГИС (http://content.2gis.ru/maps), для Москвы можно заказать топосъемку у Мосгоргеотреста. Хотя в последнем случае это скорее просто 2D-CAD данные без атрибутов

Растровые геоданные: краткое введение

В этом материале дается краткое введение в растровые геоданные: какие они бывают, для чего используются. Рассматривается понятие рельефа (ЦМР и ЦМВ).

API. Подключение к сервисам

Что такое API - Application Programming Interface?

Если попытаться пояснить на простом языке – это способ получить от программы/сервера ответ на ваш вопрос напрямую. Это особенно актуально для сообщения приложений между собой.
В случае с ГИС и открытыми геоданными в этом справочнике подразумевается получение необходимых данных через определенный запрос в формате http (например, через адресную строку в том же браузере).

WMS, TMS, WFS - подгрузка веб-слоев

WMS, TMS, WMTS

WMS – Web Map Service – традиционный вид веб-слоя, растровый формат ("картинка"). Характерен для ГИС на предприятиях. Часто встречается в сервисах ArcGIS.
Работает медленнее, чем TMS, развитая структура запроса, можно загрузить отдельные слои, включить легенду, указать разрешение и пространственный охват.
Пример запроса:
 http://sampleserver1.arcgisonline.com/ArcGIS/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/WMSServer?version=1.3.0&request=GetMap&CRS=CRS:84&bbox=-178.217598,18.924782,-66.969271,71.406235&width=760&height=360&layers=0&styles=default&format=image/png
Подробнее в документации ArcGIS

TMS - Tile Map Service - карта делится на тайлы(квадраты), более простой вариант подключения к веб-данным, очень распространен в современных веб-картах. У каждого тайла есть свой адрес. Очень ограничен по функционалу, но работает быстро.
Нашумевший сервис - карты активности спортсменов, которые выдают в браузере именно тайлы. Доступ к более высокому разрешению только после регистрации.
Пример адреса тайла сервиса Strava:
https://heatmap-external-a.strava.com/tiles/all/hot/11/1238/640.png

WMTS - Web Tile Map Service - развитие стандарта TMS.

Плагин QuickMapServices

Плагин для QGIS под названием QuickMapServices (далее QMS) позволяет подгружать разнообразные подложки прямо к себе в проект (спутниковые снимки, Росреестр и др.) - как WMS, так и TMS, GDAL, WFS, Geojson.
Подробнее о QMS

Подгрузка в QGIS слоев Росреестра (16-03-2020)

Росреестр в феврале 2020 года приостановил WMS-сервисы, которые можно было подключить через QMS, и на данный момент есть вариант загрузить некоторые слои через подключение слоя ArcGISMapServer. Инструкция для QGIS 3 и выше.

1. В окне QGIS нажимаем Ctrl+L или выбираем Слой - Менеджер Источников данных. В окне источников данных выбираем слева категорию ArcGis Map Server. Нажимаем Создать в верхнем разделе Соединения с серверами 

2. В появившемся окне указываем произвольное Название соединения (например, ПКК) и вставляем в поле Адрес следующую строку https://pkk5.rosreestr.ru/arcgis/rest/services/Cadastre/CadastreOriginal/MapServer 
27-04-2020 - ничего не работает!
Нажимаем ОК
3. В верхнем разделе Соединения с серверами нажимаем Подключиться , выбираем нужный слой (например, Земельные участки) и нажимаем Добавить. Закрываем окно. На крупных масштабах появляется слой с земельными участками.

Когда мы настроили подключение, другие слои можно добавить и через Браузер:


Дополнительно о TMS и WMS

...TMS, WMS, WFS - это спецификации способов обмена (геопространственной) информацией между сервером и клиентом. Эти спецификации определяют, какой запрос клиентское приложение должно отправлять на сервер, чтобы получить тот или иной фрагмент, в каком формате данные отдаются сервером и так далее. Например, источник геоданных по спецификации TMS обычно никаких параметров, кроме адреса, не имеет, а данные передаются клиенту (и запрашиваются им) в виде тайлов с фиксированной нарезкой. Как вот этот: http://a.tile.openstreetmap.org/14/9907/5120.png - здесь "14" - это условный масштаб (уровень увеличения карты), а 9907 и 5120 - номер тайла по X и Y (который, зная схему нарезки, можно получить из координат). Для источника по спецификации WMS, запрос того же фрагмента выглядел бы иначе - он бы включал в себя команду GetMap и разделенные знаком & параметры, указывающие название слоя, координаты углов, размер изображения в пикселях и его графический формат (png, jpeg, svg).
Источник

WFS

WFS – Web Feature Service – дает возможность подключать веб-слой. Аналог веб-ГИС, но более универсального характера.

В отличие от классического WMS, где пользователю приходят растровые квадраты карт (тайлы), выдается геометрия с атрибутами, которую можно сохранить к себе локально, или даже отредактировать. На практике встречается намного реже, чем WMS или TMS.

Подробнее http://gis-lab.info/qa/qgis-wms-wfs.html

Векторные тайлы

Сейчас активно развиваются и векторные тайлы как альтернатива растровым тайлам.

Литература и интернет-источники

Здесь размещены основные источники - книги и интернет-ресурсы.

Книги
  • Берлянт А.М. Картография. М.: Аспект Пресс, 2002 - 336 с.
  • Востокова А.В., Кошель С.М., Ушакова Л.А. Оформление карт. Компьютерный дизайн: Учебник/Востокова А.В., Кошель С.М., Ушакова Л.А./Под ред. А.В. Востоковой.-М.: Аспект Пресс, 2002. - 288 с.
  • Геоинформатика: Учеб. для студ. вузов / Е.Г.Капралов, А. В. Кошкарев, В. С. Тикунов и др.; Под ред. В. С.Тикунова. — М: Издательский центр «Академия», 2005. — 480 с.
  • Мягков М.С., Губернский Б.Д., Конова Л.И., Лицкевич В.К. Город, архитектура, человек и климат. Монография. — М.: Архитектура-С, 2007. — 344 с.: ил.
  • ДеМерс Майкл Н. Географические информационные системы. Основы. / пер. с англ. – М.: Дата+, 1999. – 290 с.
  • Лурье И.К. Геоинформационное картографирование. Методы геоинформатики и цифровой обработки космических снимков. Учебник. — М.: КДУ, 2008. — 422 с.
  • Русакова Н.С., Сосновский В.А., Прикладные методы градостроительных исследований. Наука, 2006. - 112 с.
  • DeMers Michael N. GIS for Dummies. - For Dummies; 1 edition (30 Jan. 2009) – 384 p.
  • De Smith Michael J. et al. Geospatial Analysis. - Matador (30 Nov. 2006). – 516 p.
Интернет-источники:
Онлайн-курсы по ГИС: