Входные данные |
OSM - обменный формат векторных карт проекта OpenStreetMap. OpenStreetMap (дословно «открытая карта улиц»), сокращённо OSM - некоммерческий веб-картографический проект по созданию силами сообщества участников — пользователей Интернета подробной свободной и бесплатной географической карты мира. Для создания карт используются данные с персональных GPS-трекеров, аэрофотографии, видеозаписи, спутниковые снимки и панорамы улиц, предоставленные некоторыми компаниями, а также знания человека, рисующего карту. В OpenStreetMap при создании карты используется принцип вики. Каждый зарегистрированный пользователь может вносить изменения в карту. Данные проекта распространяются на условиях свободной лицензии Open Database License. Данные в формате OSM можно скачать из одного из источников, указанных на странице проекта OpenStreetMap в разделе Экспорт.
Максимально возможный размер входных обрабатываемых данных зависит от объема оперативной памяти компьютера. Файлы данных в формате .BZ2 - упакованные файлы формата .OSM. При скачивании таких файлов (например, с сайта https://download.geofabrik.de), их перед обработкой следует распаковать. Исходный файл данных в формате OSM - XML- файл, содержащий узлы, дуги, отношения и теги. Узлы (node) - точки, имеющие уникальный идентификатор и пару координат. Узлы могут быть самостоятельными объектами (при наличии описательных тегов), а так же входить в состав дуг и отношений. Например:
<node id="625043" lat="42.5276604" lon="1.5690867" version="3" timestamp="2011-08-05T00:16:14Z" changeset="0"/> <node id="625050" lat="42.5299751" lon="1.5721059" version="5" timestamp="2016-11-28T08:42:28Z" changeset="0"> <tag k="highway" v="crossing"/>
Дуги (way) - набор узлов. Могут быть самостоятельными объектами (при наличии описательных тегов), а так же входить в состав отношений. Например: <way id="8880955" version="4" timestamp="2018-08-18T14:17:53Z" changeset="0"> <nd ref="64796309"/> <nd ref="64796310"/> <tag k="waterway" v="riverbank"/>
Отношения (relation) - могут содержать в себе узлы, дуги и другие отношения. Например:
<relation id="7380238" version="1" timestamp="2017-07-07T11:39:49Z" changeset="0"> <member type="way" ref="6181313" role="from"/> <member type="node" ref="51390142" role="via"/> <member type="way" ref="489466870" role="to"/> <tag k="restriction" v="no_u_turn"/> <tag k="type" v="restriction"/> </relation>
|