Рубрика «Геоинформационные сервисы» - 35

Недавно у меня возникла необходимость отображать маршрут между двумя точками на карте Google в моем приложении. На Хабре уже были публикации на эту тему. Например, «Маршруты на картах Google в вашем Android-приложении». Однако этим материалам уже довольного много времени и они не используют новых возможностей. Хочу показать еще один способ рисования маршрутов, может быть, кому-то он окажется полезен.
Читать полностью »

В ходе работы над веб-картой в рамках проекта возникла задача отображения линий метрополитена на карте. Казалось бы, что в этом сложного? По сути — ничего, пока вам не требуется визуализировать различные маршруты, физически проходящие по одному месту. С такой ситуацией мы столкнулись при попытке отобразить линии амстердамского метрополитена.

Построение параллельных кривых в картографических веб-приложениях - 1
Читать полностью »

Чтобы дать ясное представление о том, что можно найти на карте и как определить местоположение вышек, вновь переместимся в Хоутем.

[первая часть]

Из Франкфурта в Лондон… и Чикаго

Нью-Йорксая фондовая биржа [англ. New York Stock Exchange, в дальнейшем NYSE] В США на данный момент располагается в городе Махвах, в штате Нью-Джерси. Для местного коренного населения, народа ленапе, слово «махвах» означает «место, где пересекаются пути» – идеальное описание сегодняшней биржи.

На NYSE расположенные по соседству трейдинговые компании встречаются в дата-центре, а маршруты СВЧ-излучения сходятся на крыше. Два главных дата-центра Европы находятся в Англии недалеко от Лондона: первый – на востоке в городе Базилдон c оборудованием NYSE, которое принадлежит бирже Euronext [бывш. LIFFE – Лондонская международная биржа финансовых фьючерсов и опционов] и темному пулу Sigma X компании Goldman Sacs; а второй – на западе в городе Слау: это дата-центр LD4, включающий биржи под управлением BATS [англ. Better Alternative Trading System]. Во Франкфурте, Германия, располагается дата-центр Equinix FR2, услугами которого пользуются биржи Deutsche Börse и Eurex.

image

В очень ограниченном мире СВЧ-излучения существует два типа конкурентов. Первый тип – это HFT-компании, занимающиеся проп-трейдингом: расположенная в Чикаго Jump Trading (известная как World Class Wireless), голландские компании Optiver и Flow Traders (известная как Global Connect), а также DRW (известная как Vigilant Global). Некоторые из этих фирм продают часть диапазона частот другим заказчикам. Второй тип – востребованные провайдеры: McKay Brothers, Custom Connect, а также с недавних пор NeXXcom и Latent Networks в Европе. Читать полностью »

Перед разработчикам, которые используют API Яндекс.Карт, довольно часто встаёт задача отобразить много объектов на карте. Действительно много — порядка 10 000. Причем эта задача актуальна и для нас самих — попробуйте поискать аптеки на Яндексе. На первый взгляд кажется: «А в чем собственно проблема? Бери да показывай». Но пока не начнешь этим заниматься, не поймешь, что проблем на самом деле целый вагон.

ObjectManager в API Яндекс.Карт. Как быстро отрисовать 10000 меток на карте и не затормозить всё вокруг - 1

Вопросы по большому количеству меток с завидной регулярностью поступают в наш клуб и техподдержку. Кто все эти люди? Кому может быть интересно показать на карте больше 10 меток? В этом посте я подробно рассмотрю весь вагон проблем и расскажу, как в API появились инструменты, помогающие разработчикам оптимально показать большое количество объектов на карте.
Читать полностью »

Добрый день, уважаемые читатели хабра.
Я расскажу о своём необычном хобби. Нет, это не фото/видео охота за молниями. Я ловлю молнии в прямом смысле этого слова, запуская воздушного змея в грозовые тучи! Направляю энергию грозы в специальные схемы и устройства, чтобы проводить опыты.
image
Меня всегда вдохновляла красота и мощь молний. Сила тока в разряде молнии достигает 10-300 тысяч ампер, а напряжение — от десятков миллионов до миллиарда вольт. Мощность разряда — от 1 до 1000 ГВт. Вот было бы хорошо «приручить» эту энергию!
Хочу предупредить, не повторяй это дома! Я соблюдаю особую осторожность и хорошо знаю природу электрических явлений. Помни, поражение молнией смертельно.

Рождение идеи

Первое, что приходит на ум, это подвести к грозовой туче провод и разрядить заряд на землю. Но как поднять провод так высоко? Обдумав все возможные варианты я пришел к выводу, что это можно сделать с помощью воздушного змея. Еще до того как началась гроза я хорошенько испытал воздушного змея. Меня приятно обрадовала его подъёмная сила! Даже в небольшой ветер змей подымал достаточно тяжёлые грузы, а в сильный ветер его с трудом удавалось удержать за леску. Но провод змей высоко поднять не мог, так как уже 100 метров провода весило 2 кг и провод обладал большой парусностью — его сдувало ветром в сторону. Решено было заменить провод тонкой проволокой. Ничего, что проволока не выдержит огромный ток молнии и мгновенно сгорит, на месте проволочки образуется ионизированный канал, и по малому сопротивлению этого канала пройдет основной заряд молнии. Чтобы добиться минимального веса, парусности и как следствие максимальной высоты я использовал проволоку разной толщины: первые 100 метров от змея — самая толстая ≈0,3 мм, следующие 100 метров — тоньше, и так далее, чтобы она не порвалась под собственным весом. Леску, на которой я пускал змея тоже выбрал как можно тоньше — 0,25 мм. Змея она держала надёжно. Пробный запуск показал, что змей с проволокой способен взлететь на высоту 300 — 500 метров. Тучи конечно выше, но попробовать всё-таки стоит!

Первый опыт


Дождавшись грозовой погоды, мы бросаем все дела, прыгаем на скутер и летим на максимальной скорости под тучу! В то самое место, где сильнее сверкают молнии и гремит гром. Это настолько захватывающе, что сильный ветер и ливень для нас уже не помеха! Добравшись на место, мы разматываем 200 метров лески и ложем её ровной линией на землю. Привязываем воздушного змея и ставим возле него баллон, вокруг которого аккуратно намотана проволока. Баллон ставим на изолированный ящик и заземляем его через измерительные токовые шунты, а так-же подсоединяем различные бытовые приборы, что бы посмотреть, что с ними будет после разрушительной силы грозы. Как только змей начинает взлетать, мы убегаем на безопасное расстояние и наблюдаем за происходящим. Змей довольно не плохо взлетел, но молния ни как не хотела в него попадать, хотя рядом громко громыхала. Мы пробовали ещё несколько раз в другом месте и опять неудачно. Стало ясно, что нужно что-то менять.Читать полностью »

В API Яндекс.Карт есть средства для загрузки географических данных в формате XML. API поддерживает карты в двух форматах: YMapsML и KML. В документации по технологиям Яндекса есть пример, илюстрирующий работу с этим форматами.

Глядя на этот пример, можно предположить, что с точки зрения API оба формата эквивалентны, и работа с ними ничем не отличается. Тем более Яндекс предоставляет конструктор карт, в котором каждой карте автоматически назначаются ссылки на оба формата. Эти ссылки отличаются только суффиксом. Карта в формате YMapsML оканчивается на символ /, а адрес той же карты в формате KML на конце содержит символы ".kml".

Независимо от формата XML загрузка геообъектов будет выглядеть так:

var map = new ymaps.Map("map", {
    center: [-25.89, 135.32],
    zoom: 4,
    controls: ["zoomControl"]
});

var url = "http://maps.yandex.ru/export/usermaps/4c4r9MAwI8DLmJKv1H--R0_bvQmHNLDz/";

ymaps.geoXml.load(url).then(function (res) {
    map.geoObjects.add(res.geoObjects);
});

Но если нам понадобится что-то сделать с объектами при загрузке, то мы обнаружим, что формат имеет значение. Предположим, что мы хотим поменять цвет контура у объекта с определенным именем.

Пример загрузки YMapsML

var url = "http://maps.yandex.ru/export/usermaps/4c4r9MAwI8DLmJKv1H--R0_bvQmHNLDz/";

ymaps.geoXml.load(url).then(function (res) {
    res.geoObjects.each(function (obj) {
        if (obj.properties.get("name") == "Бассов пролив") {
            obj.options.set("strokeColor", "0066ffff");
        }
    });
    map.geoObjects.add(res.geoObjects);
});

Оказывается, что если мы заменим адрес на формат KML, то данный код работать не будет, потому что коллекция объектов, загруженная из формата KML отличается от той, что получается при загрузке YMapsML. При загрузке KML получается коллекция объектов, состоящая из одного геобъекта, который сам является коллекцией. И вот этот вложенный объект уже содержит геообъекты, нарисованные на карте.

Поэтому для обработки коллекции, загруженной из KML надо написать вот такой код:

Пример загрузки KML

var url = "http://maps.yandex.ru/export/usermaps/4c4r9MAwI8DLmJKv1H--R0_bvQmHNLDz.kml";

ymaps.geoXml.load(url).then(function (res) {
    res.geoObjects.each(function (obj) {
        obj.each(function (nested) {
            if (nested.properties.get("name") == "Бассов пролив") {
                nested.options.set("strokeColor", "0066ffff");
            }
        });
    });
    map.geoObjects.add(res.geoObjects);
});

Читать полностью »

За прошедшие полгода выросла популярность web-сервиса «Mapillary»: загружено свыше полумиллиона фотографий, причём более 100 тысяч штук — только за последние 10 дней!

На первый взгляд кажется, что для этого дела нужен обычный смартфон. А что, если бы для сбора фотоснимков для «Mapillary» можно было использовать экшн-камеру, например, GoPro? Установленную на велосипед, шлем или даже автомобиль? Как оказалось, это возможно.
Читать полностью »

Алгоритмы устранения ложных и избыточных данных в GPS потоке

Разработка электроники на базе GPS/ГЛОНАСС-технологий — одна из наших любимых тем на Хабре. Мы уже писали обзорную статью на эту тему, рассказывали про систему «ЭРА-ГЛОНАСС» и даже определяли своё местоположение по сетям сотовой связи.

В этот раз наш пост призван дать ответ на конкретный практический вопрос: «Как уменьшить объем потока данных с навигационно-связных терминалов без потери информативности?». Эта тема весьма актуальна, ведь услуги беспроводной связи составляют значительную часть финансовых затрат на обслуживание систем мониторинга транспорта.

Для начала давайте посмотрим, что представляет собой тракт подготовки и сбора информации на терминалах перед отправкой данных на сервер.
Читать полностью »

#ifndef my_habra_entry
#define my_habra_entry

Мир тебе, дорогой читатель!

Минутка откровений. Не кривя душой, открою завесу тайны, что я протёр своё кожаное кресло, ёрзая на нём, и думая, а стоит ли вообще писать это всё. Сомнения одолевали меня до последнего, но кто-то сидящий на правом плече всё же победил кого-то на левом. И вуаля, много букв перед вами. Сразу хочу признаться ещё кое в чём: главная цель написания данной статьи — в первую очередь удовлетворение своих личностных потребностей, амбиций, а, может, и пункта самореализации, которого до сих пор не хватало для завершения процесса достижения вершины эволюционной лестницы…

Минутка лирики. Мне необходима конструктивная (обожаю это слово! И оно во всём этом ключевое) критика профессионального сообщества, то есть вас. В противном случае у меня может начаться паранойя от навязчивых мыслей, что возможно где-то в этой жизни я свернул не туда…

Минутка лирики2 предыстории. Ничего не предвещало беды. Я, ковыряясь в носу одной рукой, и, юзая колёсико мышкой другой, неожиданно для себя и всего мироздания вдруг натыкаюсь на невероятно сладенькую вакансию Product Manager. Вытерев слюни (той рукой, что ковырялся) и трезво оценив, что мы созданы друг для друга, я естественно щёлк-щёлк посылаю на неё осмысленный отклик. Получил тестовое задание, выполнил, отправил. На этом история заканчивается.

В общем, если коротко, статья про сравнение геоинфосервисов, лидеров российского рынка.

Яндекс.Карты, 2ГИС или всё же Google Maps?

Читать полностью »

На Яндекс.Картах теперь можно отличить высотку от одноэтажного здания и узнать известное здание по 3D-модели — все объекты на них стали объёмными. Сейчас на картах более 1000 моделей особенных сооружений в разных городах, со временем их станет больше.

Для этого проекта нам, естественно, пришлось выяснить и уточнить высоту всех зданий в разных городах. Естественно, мы не могли пройти мимо такого шанса посмотреть на города и их устройство под новым углом зрения — чтобы можно было лучше почувствовать разношёрстность или, наоборот, однообразность застройки, мы нарисовали тепловые карты высотности.

В Москве почти 4,5 тысячи высоких — выше 50 метров — зданий. Больше всего таких домов в Тропарево-Никулино, Раменках, Митино, Обручевском районе и Ясенево. Около 90 строений Москвы — выше 100 метров. По количеству таких зданий лидируют Пресненский район, Раменки, Хорошевский район, Тропарево-Никулино и Восточное Бирюлево. Самое высокое здание города — Останкинская башня. Для столицы мы отрисовали модели Московского Кремля, Храм Христа Спасителя, главного здания МГУ, Останкинской башни и многих других объектов, которые служат для людей ориентирами.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js