Комментарии 16
Используйте тег
<source>
, пожалуйста (выпадающий список над полем редактирования). Тег <code>
— для инлайновых вставок. Также в тексте можно <ul>
использовать и ещё много разных тегов.А что за карты используются? И как там с покрытием россии?
Из кода можно заключить, что это карты Openstreetmap и бывшие Virtual Earth, ныне — Bing Maps. Однако можно с тем же успехом использовать практически что угодно, включая тайлы Google Maps, Яндекс, либо данные из собственного источника.
Покрытие — оцените сами, т.к. карты такой большой территории — штука составная, и в итоге у одного сервиса есть преимущества в одном населенном пункте, а у другого — в другом. Безусловного лидера выделить крайне затруднительно, тем более, что и оценивать можно по разным показателям.
Покрытие — оцените сами, т.к. карты такой большой территории — штука составная, и в итоге у одного сервиса есть преимущества в одном населенном пункте, а у другого — в другом. Безусловного лидера выделить крайне затруднительно, тем более, что и оценивать можно по разным показателям.
Продолжение будет?
Если нет, то уже сюда, наверное, стоило добавить ответы на очевидные вопросы об использовании разных источников картографических данных и о функциях (раз уж это, практически, пошаговая инструкция, а не просто описание возможностей), нужных именно системе мониторинга — периодическое обновление, загрузка данных о положении объектов, выдаваемых сторонним скриптом, а не добавляемых непосредственно в коде страницы.
Если нет, то уже сюда, наверное, стоило добавить ответы на очевидные вопросы об использовании разных источников картографических данных и о функциях (раз уж это, практически, пошаговая инструкция, а не просто описание возможностей), нужных именно системе мониторинга — периодическое обновление, загрузка данных о положении объектов, выдаваемых сторонним скриптом, а не добавляемых непосредственно в коде страницы.
Пока не знаю. Будут улучшения текущей по замечаниям. Описание одних только форматов займет не меньше двух страниц. В документации, во вкладке формат, описывается больше тридцати форматов. Что бы с ними поработать надо разворачивать ГИС сервера(MapServer,GeoServer или ArcGisServer), писать сервисы или добыть файлы нужного формата. Это отделанная статья. Постараюсь вечером прикрутить демонстрационный сервис поставщика данных.
Натыкался как-то на то что
getLength()
возвращает длину ровно в два раза больше. Это пофикшено сейчас?Это не косяк OpenLayers — это следствие Web Mercator. Тамошние «метры» становятся все менее метрами при удалении от экватора. В наших широтах действительно соотношение выходит около 2:1. Если нужна точная длина, рекомендую воспользоваться функцией OpenLayers.Util.distVincenty, которая вычисляет геодезическое расстояние между двумя точками, на основе чего можно написать свою реализацию getLength().
Подробнее о scale factor-е WebMercator можно почитать в EPSG Guidance Note 7 part 2, p.38, если кому-то, конечно, интересно. :)
Подробнее о scale factor-е WebMercator можно почитать в EPSG Guidance Note 7 part 2, p.38, если кому-то, конечно, интересно. :)
Спасибо за подробное описание реализации сервиса!
Можно написать встречную статью для тех кто ленится познать OpenLayers: «Написание сервиса мониторинга транспорта средствами картографических API»
например 2gis API (вдвойне актуально из-за приближающегося релиза транспортного API) или Яндекс API
кода 100пудова меньше получится да + парк велосипедов в придачу!
Можно написать встречную статью для тех кто ленится познать OpenLayers: «Написание сервиса мониторинга транспорта средствами картографических API»
например 2gis API (вдвойне актуально из-за приближающегося релиза транспортного API) или Яндекс API
кода 100пудова меньше получится да + парк велосипедов в придачу!
Спасибо за отзыв. С 2gis API не работал, нужно разбираться на каких условиях происходит использование их сервиса, а вот с Яндексом переписывался, оказывается они ни за какие деньги не предоставляют свой картографический сервис для коммерческого использования.
API 2GIS можно использовать для коммерческого использования: api.2gis.ru/about/enterprise/
Если кому нибудь нужна площадь в СИ метрах, а не в черт-пойми-чем от WebMercator проекции (см. habrahabr.ru/post/145117/#comment_4877057), использовать надо OpenLayers.Geometry.Polygon.getGeodesicArea()
Хотя это и лучше, чем условные «метры» проекции Меркатора, однако все равно стоит понимать (и в документации это написано — approximate area) что это приблизительная прощадь.
Чтобы выяснить, на сколько она приблизительна, нужно лезть в код библиотеки, т.к. в документации не сказано, какой способ проекции выбирается для вычисления. А результат может различаться, например, в случае использования стандартной проекции UTM и в случае создания для каждого такого обсчитываемого полигона местной системы координат.
Чтобы выяснить, на сколько она приблизительна, нужно лезть в код библиотеки, т.к. в документации не сказано, какой способ проекции выбирается для вычисления. А результат может различаться, например, в случае использования стандартной проекции UTM и в случае создания для каждого такого обсчитываемого полигона местной системы координат.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
OpenLayers или делаем сервис мониторинга транспорта