Геоданные из нескольких источников что это


Геолокация на мобильных устройствах Android

Геолокация — это определение местоположения (геопозиции) устройства пользователя.

Сайты и приложения запрашивают доступ к геопозиции, чтобы точнее отвечать на поисковые запросы и предоставлять актуальную информацию с учетом местонахождения пользователя.

Вы можете разрешить или запретить доступ к вашему местоположению:

  1. Разрешить или запретить отслеживать местоположение
  2. Установить общие настройки геолокации
  3. Сбросить установленные настройки геолокации

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

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

Чтобы изменить настройки:

  1. Перейдите в Настройки устройства → Приложения.

  2. В списке установленных программ выберите нужную.

  3. Нажмите Разрешения.

  4. В пункте Местоположение сдвиньте переключатель вправо (чтобы разрешить определять ваше местоположение) или влево (чтобы запретить).

Примечание. Если в общих настройках отслеживание местоположения отключено, разрешение на определение геолокации для отдельной программы действовать не будет.

Чтобы установить общие настройки геолокации для всех сайтов программ на вашем устройстве:

  1. Перейдите в Настройки устройства.

  2. В блоке Личные данные выберите пункт Местоположение.

  3. Сдвиньте переключатель в положение ВКЛ (разрешить определять ваше местоположение) или ВЫКЛ (запретить отслеживать местоположение).

    Чтобы повысить точность передаваемых геоданных, выберите режим По всем источникам или По координатам сети.

Для корректной работы сайты могут запрашивать данные о местоположении вашего устройства.

Выбранные настройки геолокации сохраняются в браузере. При необходимости вы можете их сбросить:

  1. Откройте браузер и перейдите в меню .
  2. В блоке Конфиденциальность выберите пункт Очистить данные.

  3. Отметьте опцию Предупреждения для сайтов (остальные опции отключите).

  4. Нажмите Очистить данные, затем нажмите Да.

  1. Откройте браузер.

  2. Нажмите значок (если значка нет, нажмите кнопку меню на корпусе смартфона).

  3. Выберите пункт .

  4. Нажмите ОК, чтобы подтвердить удаление данных.

  1. Откройте браузер и перейдите в меню .

  2. В блоке Дополнительные выберите пункт Личные данные.

  3. Внизу списка нажмите Очистить историю.

  4. Отметьте опцию Файлы cookie и данные сайтов (остальные опции отключите).

  5. Нажмите Очистить (Удалить данные).

Была ли статья полезна?

НетДа

изменить геолокацию в яндексе

как поменять геолокацию в яндексе

яндекс геолокация

геолокация yandex

настроить геолокацию

изменить геолокацию в браузере

настроить геолокацию в браузере

изменить геолокацию в хроме

настроить геолокацию в хроме

изменить геолокацию в chrome

настроить геолокацию в chrome

настроить геолокацию на смартфоне

настроить геолокацию на андройде

изменить геолокацию на смартфоне

изменить геолокацию на андройде

yandex.ru

геолокация на Android без сжирания батарейки / Хабрахабр

Пользователь: это невозможно, GPS съест батарейку Джуниор: это возможно, используй Geofences Сеньор: есть варианты и получшеНа картинке сначала в одну, а потом в другую сторону одновременно с одним человеком «прогулялись» 6 одинаковых телефонов. Но какой разный результат! Геолокация используется в самых разных задачах. Возьмем нередкий сценарий, когда сами по себе координаты пользователя неинтересны, но крайне важно знать когда он входит в определенные географические радиусы. Спектр приложений, где это нужно, очень широк — от магазинных списков и гео-игр до логистики и безопасности.

В нашем случае этот сценарий осложняется тремя абсолютно взаимоисключающими вещами:

  1. Малый радиус. Требуется определять факт вхождения пользователя в достаточно небольшой радиус местности — 500 метров.
  2. Высокая вероятность. Необходима сильно отличная от нуля вероятность того, что пользователь не проскочит радиус. Учитывая что сейчас может быть «безпробочное» время суток и он едет на авто, то всё становится достаточно печально.
  3. Минимальное энергопотребление. Важный момент для любого приложения, но что хуже всего — мы разрабатываем не приложение, а SDK, который должен встраиваться в другие приложения. Другие разработчики доверяют нам, и в случае проблем пострадают в первую очередь они, именно их приложения будут заминусованы пользователями или удалены. Поэтому требования к энергопотреблению самые высокие.
Вообще сам по себе сценарий, конечно, чудовищный с технической точки зрения. Ведь в большинстве приложений геолокация или используется кратковременно (чекин, посмотреть где сейчас нахожусь, сохранить в exif место фотосъемки) и не требует большого энергопотребления, или ожидаемо для пользователя сжирает батарейку (навигаторы) и потому заставляет психологически подготовиться к этому или воткнуться в зарядку. Здесь же во многих случаях придется висеть в фоне (если так захочет разработчик родительского приложения) и потому обычные рекомендации Google по использованию локации по сути бесполезны.
Итак, проблема есть. Но есть ли решение?
Стоит отметить, что в этом материале речь идет не про оторванные размышления или просто некий набор опытов, который не выдержал бы реального использования, а про технологию, которая была реализована на основе полученных данных и используется в деле.

Как и в формуле «время-цена-ресурсы разработки» можно уменьшить только два параметра, так и мы должны чем-то пожервовать. Учитывая, что 500 метров в принципе константа, немного «отпустим» вниз от 1.0 вероятность определения вхождения в радиус.

Без включенного GPS узнать, когда пользователь будет проезжать красный радиус. Реально?

Изначально базовых вариантов по сути три — коробочное решение от Google с использованием Geofences, использование встроенных в Андроид Google Services с собственным алгоритмом или использование открытого гео-API опять же с собственным алгоритмом. Очевидно, нужно это всё обкатать в условиях, приближенным к боевым. И раз все равно потребуются значительные временные затраты, то заодно протестируем и некие маргинальные варианты.

Участники гонки на выживание
1. Google Services Passive mode — получение только закешированных системой обращений к GEO-данным от других приложений. Это могут быть как обращения Network location — Wi-Fi в пассивном и активном режиме, мониторинг сотовых вышек, так и использование GPS. 2. Google Services GPS — старый добрый всепожирающий GPS 3. Mylnikov Provider — реализация с использованием открытого API по Wi-Fi сетям от mylnikov (сразу хочу сказать огромное спасибо за многочисленные консультации и полезные статьи). Использует API, работающий на базе, агрегированной из нескольких геобаз по Wi-Fi. Особенно интересен в тех случаях, когда хочется избежать использования пермиссий ACCESS_FINE_LOCATION и ACCESS_COARSE_LOCATION (достаточно только ACCESS_WIFI_STATE), так как напрямую использует списки Wi-Fi сетей. Правда для Android 6.0 это уже не очень актуально, так для скана сетей теперь тоже требуется ACCESS_COARSE_LOCATION. 4. Google Services Geofences — закрытая реализация Google по определению вхождения пользователя в радиус; позволяет определять географические области, при вхождении в которые приложение поймает соответствующее событие. Из явных минусов — позволяет делать только 100 радиусов, что для некоторых задач может быть недостаточно и потребует программирования вложенных (или «расхлопывающихся») радиусов. На большинстве устройств использует только Network location (Wi-Fi + сотовые вышки). 5. Google Services Combined mode — сбалансированный режим работы Google Services Passive mode + принудительный запрос координат по Wi-Fi и вышкам сотовой связи, если мы видим что актуальность закешированных данных нас уже не устраивает. 6. i402 — реализация 402 Targeting Rus: Google Services Combined mode + адаптивный режим подстройки частоты проверки (от 1 минуты до 24 часов) в зависимости от удаленности пользователя от ближайшего радиуса
Калибруем
Для тестирования нужны комплекты из 7 одинаковых моделей телефонов. Все телефоны взяты новые, без дополнительно установленного программного обеспечения. Для более реалистичного тестирования Google Services Passive mode было бы правильно, наоборот, поставить дополнительный софт, но это внесло бы непрогнозируемые наводки и серьезно усложнило бы тестирование. Каждый цикл и калибровки, и тестирования начинается с полной зарядки телефонов. Все измерения производятся при температуре не ниже +15. Калибровка занимает неделю, что опять же позволяет получить уверенность в том, что батареи всех телефонов «раскачались» и пришли в стабильное состояние.
Процесс калибровки выполняется в два этапа
Этап №1 1. Настройки и софт всех экземпляров приведены в одинаковое состояние, телефоны заряжены и помещены в одинаковые условия. 2. Ожидание 24 часа. 3. Снятие данных по остаточному заряду.

Этап №2 1. Настройки и софт всех экземпляров приведены в одинаковое состояние, телефоны заряжены и помещены в одинаковые условия. 2. Во все телефоны вставлены SIM-карты одного сотового оператора. 3. Ожидание 24 часа. 4. Снятие данных по остаточному заряду.

Этапы №1 и №2 в общей сложности выполнены в пяти циклах на всех экземплярах. По результатам выявлен телефон с ненормальным энергопотреблением, он выносится за пределы тестирования.

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

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

Все сборки, кроме #4 и #5, запрашивают координаты раз в 10 минут. С одной стороны, это большое допущение, ведь радиус в 500 метров пользователь на транспорте может спокойно пересечь и за гораздо меньшее время. С другой стороны, и как подтвердит будущее, даже проверка раз в 10 минут приведет к катастрофическому энергопотреблению у «маргиналов» и вся надежда будет исключительно на умные алгоритмы.

Testing dance!
На каждом экземпляре комплекта устанавливается своя сборка тестового приложения. Один экземпляр в комплекте входит в контрольную группу и поэтому принимает плацебо. То есть на него ничего не устанавливается.

Входные данные для всех экземпляров остаются общими: общий сотовый оператор, общий маршрут, общая тряпичная сумка тестировщика. Тряпичная выбрана специально для отсутствия возможных наводок на принимаемые сигналы.

Маршруты строятся по разным рельефам как городской местности, так и за городом. Есть маршруты на авто, на транспорте, в метро, пешие маршруты. Есть даже маршрут на местности с отсутствующим по определению Wi-Fi и сотовой связью на пределе — удаленной от берегов глади Ладожского озера.

В этом цикле самым сложным было не утопить во время начавшегося шторма сумку тестировщика.

Результаты?
Выполнение полевых исследований занимает больше двух недель. Выходные данные каждого алгоритма оцениваются с точки зрения двух параметров:

ТОЧНОСТЬ — экспертная оценка по 5-бальной шкале в сравнении с эталоном (чем больше тем лучше).

Как определяется точность

После каждого цикла тестирования логи каждого экземпляра выгружаются, геоданные преобразовываются и отображаются на Google Maps. Базируясь на эталоне, т.е. реальном задокументированном маршруте, эксперт вручную оценивает величину отклонения от него, проставляет оценку, а также выдает текстовое обоснование. Экспертная оценка проверяется и подтверждается вторым экспертом. Рассчитать величину отклонения в автоматизированном режиме невозможно из-за недетерминированности срабатывания таймера просыпания в Android и последующей рассинхронизации устройств, а также сложности многих маршрутов — например, поворот два раза налево за относительно небольшой для алгоритма промежуток времени или «телепортация при помощи метро».

ЭНЕРГОЭФФЕКТИВНОСТЬ — процент заряда батареи устройства после завершения цикла тестирования приводится к общей 10-бальной шкале (чем больше тем лучше) от 0 (худший уровень заряда из экземпляров комплекта в цикле) до 10 (лучший уровень из экземпляров комплекта в цикле). Почему для определения энергоэффективности не используется профайлер?

Из-за недоверия к ним. Энергопотребление конкретного приложения, показываемое в настройках телефона, или показания специализированного софта так или иначе включают в себя набор погрешностей и допущений. Так как нас интересовали сырые данные, то мы старались ориентироваться на базовые параметры. Учитывая полную идентичность экземпляров в комплекте, отсутствие стороннего софта и предварительную калибровку, допускаемая погрешность не превысила требуемую точность измерений.

Ниже представлены средние значения параметров. Медианные значения не приводятся, так как из-за повторяемости тестов близки к средним.
1. Google Services Passive mode
ТОЧНОСТЬ: 3.4 (4-е место) ЭНЕРГОЭФФ.: 4.3 (5-е место)

Средний по точности. Позволяет определить общую траекторию маршрута. По энергоэффективности предпоследний, но далеко оторвался от последнего участника — GPS (4.3 против 2.1). Точность сильно зависит от того, стоит на смартфоне сторонний софт, или кешировать системе почти нечего. Если второе — то система может кэшировать только собственные периодические системные запросы. Мы же помним что корпорация добра сохраняет каждый наш шаг? К сожалению, в большинстве случаев в ТЗ собственной программы нельзя прописать «делаем расчет на то, что на телефоне будет стоять много разных программ и они будут часто обращаться к геоданным».

2. Google Services GPS
ТОЧНОСТЬ: 4.6 (2-е место) ЭНЕРГОЭФФ.: 2.1 (6-е место)

Показывает предсказуемо отличную точность (кроме метро), но и предсказуемо затратен: во всех тестах показал наихудшую энергоэффективность.

3. Mylnikov Provider (Wi-Fi only)
ТОЧНОСТЬ: 2.2 (6-е место) ЭНЕРГОЭФФ.: 6.2 (3-е место)

Низкий результат по точности объясняется наличием маршрутов за городом, где Wi-Fi сетей нет. Одновременно с использованием API по сотовым вышкам может показать хорошую точность и низкое энергопотребление.

4. Google Services Geofences
ТОЧНОСТЬ: 5.0 (1-е место) ЭНЕРГОЭФФ.: 6.8 (2-е место)

Стабильная статистика качественного определения фенсов радиусом в 500 метров. Стоит предупредить, что на фенсах меньшего радиуса тестирование не проводилось. Судя по некоторым экспериментам иностранных коллег, да и по самой документации, на фенсах меньше 150 могут возникать проблемы с точностью и/или сильно вырастет энергопотребление. Но и при 500 метрах энергопотребление могло быть и ниже, учитывая что это системная функция.

5. Google Services Combined mode
ТОЧНОСТЬ: 3.6 (3-е место) ЭНЕРГОЭФФ.: 5.5 (4-е место)

Имел погрешности относительно эталонного GPS, но в целом стабилен. Энергопотребление хотелось бы и получше.

6. i402
ТОЧНОСТЬ: 3.1 (5-е место) ЭНЕРГОЭФФ.: 8.5 (1-е место)

Показал предсказуемо плохую аппроксимацию в районах, далеких от места расположения радиусов, так как в далеких от радиусов местах снижал частоту проверок — за что и получил низкую оценку. При этом превосходил конкурентов по энергоэффективности, в 2-х затяжных тестах (более суток) показал экономию на более чем 5-7% заряда батареи от ближайшего конкурента. При решении базовой задачи — проверки вхождения в радиус — почти всегда ловит идущих и с достаточной вероятностью — едущих.

Итого
На первом месте по сочетанию ТОЧНОСТЬ/ЭНЕРГОЭФФЕКТИВНОСТЬ оказались все-таки Google Services Geofences. Но пусть они и стали призерами по энергоэффективности, но то, что заняли второе место исходя из требуемого нам сценария — неприемлемо. Решения из коробки помогут только для стандартных сценариев, потому что в случае продвинутых вариантов только вы сами можете учитывать нюансы требований и специфику своего приложения. Дальше расположился основой пелотон участников, по энергоэффективности далеко оставивший позади GPS и обеспечивший достаточную точность. Обратите внимание — один из участников в принципе отказался от допинга GPS (Mylnikov Provider), а другие четверо, не считая самого GPS, воспользуются его данными, только если на смартфоне какое-то другое приложение потребует высокоточные координаты.
GPS, прощай?
В ходе тестов и опробования различных вариантов подтвердилась простая мысль — для определения приемлемой точности местонахождения в городе GPS не нужен. Во всяком случае, если мы говорим про город-миллионник и если ваши пользователи не используют приложения в основном на пустырях, удаленных от жилой застройки.

Попробуйте отключить в настройках телефона GPS и откройте Яндекс.Карты — они определят ваше местоположение достаточно точно. Причем даже при выключенном Wi-Fi — только если в настройках не отключен скан Wi-Fi сетей (появился начиная с Android 4.3). Но у большинства пользователей он включен. Откройте Google Maps — и ваше местоположение будет определено еще точнее. Поставьте себе какой-нибудь трекер Wi-Fi сетей и пройдитесь или проедьте по городу — ваш смартфон зацепит тысячи Wi-Fi сетей.

Попросили коммерческого директора поставить себе трекер Wi-Fi сетей на денек.

В зависимости от качества источника (Гугл или открытые базы) и рельефа города точность Wi-Fi составляет около 30-50 метров. Согласитесь, что это на порядок лучше, чем сотовые сети, у которых в городе точность не более 300-400 метров. Для большинства приложений точность в 30-50 метров достаточна, и поэтому дергать всё сжирающий GPS совершенно не нужно. Когда по результатам некоторых длительных тестов на GPS-экземпляре оставалось 15% заряда, лучший соперник имел 57% заряда — почувствуйте разницу!

Так что с решением-то?
Конкретно для промышленной реализации выбран i402 — сейчас он используется в одной из мобильных рекламных сетей 3-го поколения (Хабр: Рекламные сети 3.0). i402 — это, напомню, сочетание следующего:
  • получение закешированных системой обращений к GEO-данным от других приложений (в том числе и данные GPS, если какое-то другое приложение его включало)
  • явный запрос координат по Wi-Fi и/или по вышкам сотовой связи, если закешированные данные устарели
  • плавающая частота явного запроса в зависимости от удаленности пользователя от ближайшего радиуса
При стандартном использовании приложение со встроенным SDK, содержащим реализацию i402 и работающим непрерывно в режиме сервиса, отъедает за день в пределах 5% заряда батареи. Для реализации адаптивности и интеллектуальности пришлось решить множество других интересных задач, таких как борьба с «телепортационностью» метро или «телепортационностью» аэропортов (ведь предсказать, где окажется через 30 минут вошедший в метро сложнее, чем сделать то же самое для автомобилиста, обычного зажатого пробками) и, скажем, придумать множитель значения периода актуализации координат в состоянии покоя. А также научиться без помощи прожорливых датчиков определять, идет человек пешком, едет на транспорте или на собственном авто. Но про это — в отдельном материале.

habrahabr.ru

Как проследить за человеком по телефону? История местоположения Google.

Каждый смартфон, будь он на Android или iOS имеет в настройках опцию записи историй местоположений, о которой большинство пользователей даже не догадывается. Если вы регулярно проверяете телефон своего партнера на предмет подозрительных переписок, звонков, а там "чисто" - вся переписка удаляется, или просто не найдено того, что нужно, можно воспользоваться данной возможностью. В подозрительных случаях, когда вы не знаете, где на самом деле находится ваша вторая половинка, или вы не верите озвученной вам версии, вы можете запросто узнать, где же на самом деле была ваша пассия - у мамы или в неизвестном вам жилом доме в Восточном Бирюлёво, на работе до поздна или в сауне в Люберцах. Вам необходимо постигнуть некоторые тонкости, прежде чем вы сможете получить доступ к записи историй местоположений владельца мобильного телефона:

  1. Вам нужно зайти в настройки телефона и включить запись истории местоположений. Применительно к телефону на Android эта опция включается так: откройте все приложения и найдите "Настройки Google" - серая иконка с буквой G и шестеренкой.
  2. Выбрать пункт "Мое местоположение"
  3. Включить "Отправка геоданных", "История местоположений"
  4. Учтите, что для максимально точной прорисовки маршрута передвижения очень желательно включить функцию GPS (в противном случае, местоположение будет определяться данными сотовой сети и оно не будет точным, точки на карте будут рисоваться очень редко. Чтобы понять, что я имею ввиду, приведу условный пример: может получиться так, что человек побывал в 5ти местах за день, а на карте у вас будет отмечена одна прямая линия, из дома на работу и все. Например, тут нарисованы линии моих маршрутов, но это даже меньше половины реальных перемещений, причем история обрывается просто посередине трассы. Данные будут бесполезными. Очень часто именно так и происходит, поэтому GPS должен быть включен. У тех, кто использует телефон как навигатор в машине - эта опция почти всегда включена. Есть же категория людей, которая вообще не знает толком, что эта опция значит, поэтому если вы ее незаметно включите, ваш объект может и не заметить этого.
  5. Обязательно должен быть подключен мобильный интернет, опция "Мобильные данные" включена. В принципе, данные опции у большинства людей итак включены, так что, это вам только на руку, если человек активно пользуется своим смартфоном.
  6. Далее, вам нужно получить доступ к аккаунту Google, который привязан к этому Android телефону. Как это сделать:

- многие люди на компьютере пользуются браузером Google Chrome, в котором вводят свой логин пароль для синхронизации между телефоном и компьютером. Это очень удобно. Часто на данный гугл аккаунт стоит автовход или сохранен пароль, вводить его не нужно, вы сразу можете начать отслеживание (см. ссылки внизу статьи) - многие люди используют эту Гугл почту в качестве личной почты. - если варианты выше не подходят, вам нужно узнать имя этого google аккаунта (посмотреть можно многими способами, например войдя с телефона в приложение Gmail, - вас интересует адрес почтового ящика), зайти в gmail.com с компьютера и запросить восстановление пароля при входе в аккаунт, для этого нажмите ссылку "Нужна помощь?"

Далее выбирайте пункт "Я не помню пароль" и указывайте этот же имейл.

Выберите вариант "Затрудняюсь ответить"

Нажмите "Отправить оповещение"

После прихода сообщения поменяйте пароль, смс удалите, письмо о смене пароля на этом ящике удалите.

Поздравляю, теперь вы знаете и логин и пароль от аккаунта, привязанного к смартфону потенциального изменщика(-цы)! Конечно, все эти действия надо проделывать незаметно от владельца телефона: когда он(она) спит, в другой комнате и т.д., главное, чтобы у вас был доступ к самому телефону, смс-ка бесшумно пришла, и тут же была вами стерта.

Бывают и более сложные случаи, когда на телефоне стоит пароль. В таком случае тоже не стоит отчаиваться. Вы можете смело заявить, что хотите проверить телефон, чтобы быть спокойным за свои "рога", можно выждать момент и взять телефон под видом "что-то настроить", установить новую игрушку, очистить память телефона и т.д., и попросить разблокировать телефон. Главное придумать причину, которая даст вам хотя бы несколько минут, чтобы успеть включить опции записи истории местоположений и дождаться смс от google. Если и эти способы для вас затруднительны, пытайтесь незаметно подглядеть пароль от телефона. Это не так уж и сложно.

После всех этих "плясок с бубном", вы наконец подошли к своей заветной цели - все перемещения объекта за каждый день рисуются прямо на карте! Чтобы увидеть эту самую карту, авторизуйтесь под добытыми вами логином и паролем на google.com и перейдите по ссылке ниже. Цель достигнута!

Особый раздел Google Maps

Данная инструкция подходит именно для Android устройств, однако у iPhone порядок действий точно такой же: зайти в настройки, включить запись местоположений, включить GPS, мобильный интернет, разница лишь в том, что вам нужно получить доступ не в Google, а в Apple ID, зайдя в который также сможете наблюдать карту перемещений. По Айфонам подробную инструкцию написать не могу, т.к. не имею пока такого опыта, пользуюсь Android.

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

chudo-dieta.com

Визуализируй это / Хабрахабр

Несколько лет назад я делал сайт о рыбалке и публиковал на нём карту окресностей города, отмечая интересные места. Я так увлёкся картами, что и сегодня занимаюсь дизайном геосервисов, а на досуге экспериментирую с картографическими визуализациями. Недавно я визуализировал статистику работы московского велопроката, а ранее опубликовал высотную модель города в виде разноцветной сетки улиц.

Это здорово, когда большие массивы данных об окружающем нас мире становятся визуальными, осязаемыми. Привлекает меня в этом не множество разноцветных линий или точек на тёмном фоне, а возможность наглядно показать и рассказать окружающим интересную историю, сделать эти данные полезными для людей. Мне хочется, чтобы увлечённых этой темой людей становилось больше — делиться знаниями друг с другом, обсуждать идеи.

Дома в центре Москвы разного цвета в зависимости от площади здания. Данные: © Участники OpenStreetMap

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

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

Я бы выделил несколько характерных компонент хорошей картографической визуализации: 

  • данные  —  хорошая визуальная история основывается только на качественных данных; 
  • технологии  —  так уж случилось, что технологии упрощают обработку больших объёмов данных и делают возможным, то, чего невозможно было бы сделать вручную; 
  • дизайн  — процесс создания, конструирования карты и осознанное стремление сделать карту удобной и понятной для пользователей.

Соединяя хорошо подобранные данные, технологии и дизайн можно сделать много интересных визуализаций. Покажу несколько для примера:

Один из ярких примеров хорошей истории с геоданными  —  визуализация всех голландских зданий по годам постройки. Помимо зрелищности, на этой карте очень наглядно рассказывается история — как застраивались города.

Все здания в Нидерландах стилизованные по годам постройки

Помимо визуализации нидерландских зданий есть похожие проекты: Бруклин, Нью-Йорк, Москвa.

Ребята из MapBox визуализировали 1 500 000 треков RunKeeper  —  пробежки, прогулки, поездки на велосипедах. Хорошо видны популярные места для прогулок. Я даже нашёл веломаршруты из дома на работу летом.

1 500 000 треков RunKeeper Данные карты: © Участники OpenStreetMap

Хороший пример в котором соеденились данные, технологии и дизайн  — Watercolor Maps от Stamen Design, калифорнийской дизайн-студии, которая давно и очень успешно занимается картографическими визуализациями. В случае с этой картой можно с уверенностью утверждать, что получился великолепный арт-объект.

© Watercolor Maps от Stamen. Данные карты: © Участники OpenStreetMap

Геоданные

Ни одна карта не может быть картой, если она не содержит данных. Данные получают приставку «гео» в тот момент, когда у информации появляется привязка к местности и её можно отобразить на карте. Обычно привязку объекта к местности осуществляют с помощью географических координат — долготы и широты, а там, где требуется трёхмерное представление, указывают ещё и высоту.

Геоданные разделяют на два основных типа: растровые и векторные. 

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

«Облачные улицы» на Чёрном море, снимок 8 января 2015 года © NASA Earth Observatory

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

Высотная модель Москвы © U.S. Geological Survey, SRTM30, данные карты © Участники OpenStreetMap

Растровые данные могут быть и не статичными картинками, технологии позволяют встраивать видео в интерактивную карту. 

Векторные геоданные описываются набором или последовательностью координат, геометрией и атрибутивными значениями. Есть три основных типа векторных данных:

  • точки  —  для задания точечного объекта достаточно пары координат, пример точечных объектов на карте  —  POI (points of interest)
  • линии  —  геометрия линии задаётся последовательностью пар координат, наиболее знакомый пример линейных объектов — дороги на карте
  • полигоны  —  задаются координаты вершин, здания  —  пример полигональных геоданных

Помимо типа геометрии и расположения не менее важна атрибутивная информация. В векторных данных каждый объект может содержать дополнительную атрибутивную информацию. Используя эти атрибуты можно делать выборки объектов и применять к ним различные стилевые правила. На примере слоя дорог из OpenStreetMap: по атрибуту «type» можно выбрать дороги со значением соответствующему «primary» и выделить их на карте особым стилем. 

Пример слоя дорог, по значению атрибута «type» выделены главные улицы. Данные карты © Участники OpenStreetMap

Для удобства работы с атрибутами в большинстве инструментов есть возможность просматривать данные в виде таблицы. К слову сказать, атрибуты могут заполняться заранее, а могут и вычисляться в зависимости от каких-либо параметров объекта. Картинка обложки к этому посту — здания из OpenStreetMap в центре Москвы, цвет которых зависит от площади дома.

Для векторных геоданных было разработано большое число разнообразных форматов, расскажу о наиболее популярных:

  • Shapefiles — изначально этот формат использовался только для ГИС-пакетов компании Esri, но оказался удобен в использовании и стал стандартом и для других геоинформационных приложений;
  • KML (Keyhole Markup Language) — язык разметки геоданныз на основе XML. Очень долгое время Google Earth был самым доступным инструментом работы с геоданными в интернете, поэтому KML-файлы получили широкое распространение в интернете и картографических сервисах;
  • GPX — текстовый формат, опять же на основе XML, в основном активно используется для записи GPS-треков. Пример GPX-файла можно экспортировать из RunKeeper;
  • GeoJSON — текстовый формат, за счёт удобства применения этого формата в JavaScript в последнее время стал активно использоваться для интерактивной картографии;
  • CSV — за счёт своей простоты текстовый формат распространённый формат хранения геоданных, координаты указываются в колонках таблицы и как правило, CSV используется для точечных объектов. 

Инструменты

Тема картографии только кажется специфичной, сложной и запутанной, сейчас всё больше и больше различных технологий и инструментов для «бытовой картографии» становятся доступными для обычным пользователям. Попробую дать краткий обзор того, чем часто пользуюсь сам. 

QuantumGIS

Quantum GIS (сокращённо QGIS)— настоящая ГИС в классическом понимании. Продукт кроссплатформенный c открытым исходным кодом и является прекрасной альтернативой дорогостоящим ГИС-пакетам. 

Работая с картографией, QGIS стал для меня незаменимым инструментом для работы с геоданными. В первую очередь это возможности просмотра, редактирования, импорта и экспорта различных форматов, а также возможности анализа и работы с выборками объектов. Например, мне часто требуется отфильтровать объекты по какому-либо признаку или выбрать их в какой-либо конкретной области. 

Quantum GIS 2.6.1: Слой зданий © OpenStreetMap c категориями по площади, просмотр атрибутов объекта.

Кроме этого у QGIS есть возможности стилизации карты, экспорта изображения карты для печати и публикации в интернете. У Квантума большое сообщество разработчиков, заинтересованных в развитии проекта, и на сегодняшний день разработано большое количество плагинов, которые значительно расширяют функциональные возможности программы.

CartoDB

CartoDB — онлайн сервис работы с вашими геоданными, по сути хостинг геоданных с возможностями визуализации и публикации ваших же данных. Основная схема работы с сервисом такая: требуется загрузить данные, настроить их отображение и уже можно использовать готовую визуализацию — опубликовать ссылку на проект или разместить карту на сайте. 

Настройка визуализации землетрясений в CartoDB

В скринкасте про CartoDB я показал как можно за несколько минут создать анимированную визуализацию землетрясений (случившихся за 30 дней, по данным USGS). У CartoDB очень удобно всё сделано для того, чтобы пользователь с любым уровнем подготовки смог бы разобраться с сервисом, а для тех, кому требуется помощь ребята стартовали специальный сайт The Map Academy на котором публикуют примеры и скринкасты, обучающие работе с сервисом, а в блоге публикуется лучшая карта недели созданная с помощью этого сервиса. Для более продвинутых возможностей у CartoDB есть API.

TileMill

На самом деле, компания MapBox, которая разработала TileMill* за эти пару лет уже убежала далеко вперёд: для кастомизации карт выпустили более функциональный продукт Design Studio, онлайн-сервис тоже имеет богатые возможности работы с геоданными, а для разработчиков предлагается широкий спектр API. В своём блоге команда регулярно публикует впечатляющие примеры визуализаций.

MapBox как и CartoDB позволяет хранить ваши геоданные в облаке и публиковать их на различных платформах. Основное отличие: CartoDB позволяет стилизовать и отображать их поверх уже какой-либо готовой карты, а в сервисах MapBox можно кастомизировать и карту, и объекты, которые хотелось бы на ней отобразить. При этом, в CartoDB можно подключить тайлы карты, подготовленной в MapBox.

Основная идея стилизации карт в TileMill заключается в следующем: вы добавляете данные по слоям на карту, и можете стилизовать настроить стиль отображения слоя с помощью CartoCSS  — языка настройки внешнего вида, очень похожего на CSS. Картинки в посте про типы данных, или картинка для обложки как раз готовились в TileMill, и если один раз разобраться и понять принцип, делается это удобно, быстро и легко.

MapBox TileMill

Подготовленную карту можно экспортировать или как статичную картинку, или опубликовать в облачное хранилище для дальнейшего использования карты в интернете или на мобильных устройствах. Хранение данных в MapBox — платный сервис по подписке, при этом есть бесплатный тарифный план, которого хватает для знакомства с базовыми возможностями сервиса. 

 * — пользователям MacOS 10.10 Yosemite нужно скачивать dev-версию

API Яндекс.Карт

API Карт от Яндекса — невероятно богат на различные возможности карты. Для первого знакомства с JavaScript API рекомендую посмотреть на примеры из «Песочницы» — тут можно довольно быстро разобраться как добавить интерактивную карту на страницу с различными параметрами, настроить поведение карты или же добавить различные объекты. 

В скринкасте про API я скачал информацию о станциях велопроката в CSV формате, сконвертировал с помощью QGIS эти данные в GeoJSON и далее визуализировал их с помощью API Яндекс.Карт несколькими способами:

К слову сказать, работать с GeoJSON-файлами можно чуть более изящным способом, при помощи ymaps.GeoQuery. Например, все загруженные объекты можно сразу добавить в коллекцию геообъектов и управлять параметрами отображения уже для всего набора данных. Код этих примеров можно найти на GitHub в материалах к скринкасту.

Кластеризация пунктов велопроката

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

Тепловая карта в проекте статистики московских Велобайков

Это, конечно же, далеко не все возможности API. При желании можно собрать на основе API Карт достаточно интересный интерактивный проект. Найти интересные примеры визуализаций можно в блоге, клубе разработчиков, «песочнице» или в документации.

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

Итак, самые важные ссылки, для дальнейшего погружения в тему визуализации геоданных.

Видезаписи скринкастов:

  1. «Введение в курс и примеры» (2:25)
  2. «Типы и форматы геоданных» (3:50)
  3. «Quantum GIS» — обзор базовых возможностей (9:51)
  4. «CartoDB» — онлайн-сервис визуализации данных (11:38)
  5. «MapBox TileMill» — стилизация карты с CartoCSS (19:27)
  6. «API Яндекс.Карт» — показ точек на карте в JavaScript (10:25)

Ссылки и рабочие файлы для примеров: github.com/minikarma/geotalk

Для обсуждения темы я стартовал группу в Фейсбуке  — «Бытовая картография». Очень здорово будет найти единомышленников и обсуждать подобные темы там, делиться экспериментами и опытом.

Планирую продолжить пополнять материалы по мере возможности и буду рад дополнениям и пожеланиям.

Ссылки
Подготавливая информацию к курсу, я насобирал некоторый набор ссылок для самостоятельного изучения. Делюсь и с вами. Будет здорово, если поделитесь в коментариях чем-нибудь интересным со мной.

Интересные примеры:

Блоги и сайты:Общеобразовательное про карты:Доступные данные:Про форматы данных:

habrahabr.ru

Изучаем Android. Меняем настройки определения местоположения на Android устройстве

Вы наверняка помните, что когда вы проводили первоначальную настройку своего нового Android планшета, смартфона, умных часов и прочих устройств, вам было предложено включить возможность определения вашего местоположения и отсылки геоданных на сервера Google.

Возможность определения вашего местоположения – очень полезная функция, отвечающая за работу программ навигации, функций отображения ваших координат на карте, более точных результатов поиска в Google, полноценную работу помощника Google Now и прочие нужные вещи. Однако, в некоторых случаях эта функция может представлять серьезную угрозу вашей безопасности.

 

Например, многие пользователи совершенно не в курсе того, что когда они делают фотографии с помощью своего смартфона или планшета, эти фото могут содержать весьма точные (с точностью до нескольких метров) сведения о координатах места съемки. Таким образом, становится ясно, что не стоит выкладывать в социальные сети фото с изображенным на них бриллиантовым колье и подписью «Смотрите, какую потрясающую вещь мне купил муж!!!», если оно сделано у вас дома.

 

К счастью, в настройках приложения «Камера» вы можете отключить возможность добавления координат места съемки в фотографии.

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

 

Для этого вы можете полностью отключить возможность определения местоположения на вашем устройстве. Для этого вам

 

Для этого вам нужно перейти в меню общих настроек вашего планшета или смартфона, в раздел «Личные данные» -> «Местоположение»

Настройки режима определения местоположения

 

В следующем пункте «Режим» вы увидите меню, состоящее из трех пунктов:

По всем источникам: Если вы включите этот режим, ваш смартфон или планшет сможет определять свое местоположение с помощью встроенного GPS приемника, по координатам ближайших вышек мобильной связи и даже – по координатам WiFi сети, к которой он подключен. Это самый быстрый способ определения вашего местоположения

По координатам сети: Менее точный метод, позволяющий определять местоположение только по по координатам WiFi сетей и координатам ближайших к вам вышек мобильной связи (последнее недоступно на планшетах без встроенной поддержи доступа к мобильным сетям).

По спутникам GPS: Самый надежный метод, позволяющий с большой точностью определять координаты вашего местоположения.

 

В следующем пункте раздела «Местоположение» -> «Отправка геоданных» вы можете отключить возможность отправки сведений о ваших координатах на серверы компании Google.

Инструкцию на тему, как посмотреть и удалить историю ваших перемещений с серверов Google, вы можете найти в этом материале.

 

Если вы не знаете, содержит то ли иное, сделанное вами ранее фото, которым вы хотите поделиться с другими данных о месте съемки, то узнать это, а также удалить эти данные вы можете с помощью любого EXIF редактора.

 

Похожие материалы:

Как удалить переписку с отдельным контактом в Skype для Windows 

Скрыть наличие Root прав на планшете или смартфоне от отдельных приложений можно с помощью RootCloak Plus (Cydia) 

Программы для Android. Dolphin Zero сохранит ваши персональные данные и сведения о пребывании в Сети в полной неприкосновенности 

Проверить Android планшет или телефон на наличие вирусов и угроз, а также защитить от них поможет CM (Cleanmaster) Security FREE. 

www.4tablet-pc.net

Введение в геоинформационные системы для начинающих — GIS-Lab

Эта страница является черновиком статьи.

Что нужно знать, чтобы говорить на тему ГИС на одном языке

«80% данных так или иначе связаны с географией» US Office of Management and Budget, 2002

ГИС - это технология, а именно специфические данные и специальное программное обеспечение, которое умеет с такими данными работать. Дальше специфические данные будем называть геоданными, а специальное программное обеспечение - ПО ГИС.

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

В задачи этой статьи не входит рассказ о том, что можно сделать с помощью ГИС. Сформулировать вопрос мы предоставляем самому читателю. Но если совсем коротко, то ГИС используют для всего, что связано с геоданными, например их:

  • Визуализацией - красивые карты и схемы это один из способов представления геоданных;
  • Доставкой до конечного пользователя и сбора - геоданные нужны для прокладки маршрутов и учета имущества, ГИС помогает их собрать и показать пользователю;
  • Анализом и управлением - распространение болезней, планирование строительства, реестры и кадастры.

На самом деле, все особенности ГИС не являются:

  • Уникальными именно для ГИС. Вы можете встретить элементы этой технологии во многих других, смежных областях. Например, мы имеем дело с пространственными системами координат и в области САПР.
  • Строгими. По большому счету, в ГИС есть только одно жесткое общее правило: ГИС - про пространственные данные (хотя это не означает, что вы не сможете использовать ГИС как графический редактор или редактор, скажем, таблиц). Все остальные особенности изложенные ниже являются наиболее часто встречаемыми, на самом деле из них существует масса исключений, многие ГИС развиваются по своему, в чем то необычному пути. Поэтому к любому, кажущемуся категоричным заявлению ниже стоит мысленно добавлять "... как правило ...".

Геоданные

ГИС работает с географическими данными (они же "геоданные", "пространственные данные" или "геопространственные данные").

Сами ГИС появились как гибрид баз данных (БД) и инженерной графики (САПР), поэтому объекты, с которыми имеем дело в ГИС также объединяют в себе две сущности: геометрию и атрибутивную информацию (атрибутику). Так, объект "дорога" в понимании ГИС это:

  • геометрический примитив: совокупность поворотных точек каждая из которых имеет координаты и соединенных друг с другом в определенном порядке
  • атрибутивное описание: совокупность пар ключ=значение.

Эта особенность ГИС поначалу обособила ГИС от параллельно развивавшихся каждая в своём "русле" баз данных и САПР. Сейчас границы технологий существенно размылись. У нас есть базы данных способные хранить геоданные (например PostgreSQL/PostGIS) и САПР имеющие представление о том, где в географическом пространстве находятся объекты, с которыми мы в них работаем (например AutoCAD Map).

Как создаются геоданные

Геоданные от обычных данных отличаются наличием координат определяющих их географическую привязку. Для того, чтобы создать геоданные нам необходимо выполнить процесс географической привязки. Важно при этом понимать, что является при этом источником координат.

Мы можем получить координаты:

  • Из системы геопозицинирования - такой как GPS или ГЛОНАСС;
  • Из других, уже привязанных, карт;

Метаданные

Метаданные - информация о данных, описывающая их особенности. Например, про отдельный набор мы хотели бы знать:

  • кто, как и когда создал этот набор
  • как правильно его цитировать при использовании
  • какая лицензия у данных
  • каков масштаб данных
  • многое многое другое.

Существует огромное количество специальных форматов и спецификаций для описания геоданных: американский FGDC, европейские ISO19115/ISO19139 и INSPIRE, наконец наш ГОСТ Р 52573-2006.

Совет: Вам не обязательно заполнять огромное количество характеристик ваших данных, но старайтесь сопровождать свои данные небольшим описанием, содержащим ответы на основные вопросы.

Структуры данных

Существует несколько типов структур геоданных. Наверняка вам придется столкнуться с векторной и растровой.

Векторная структура:

  • Элемент структуры: узел и ребро
  • Объект: точка, линия, полигон
  • Может находиться: где угодно
  • Хорошо подходит для описания и хранения дискретных объектов
  • Одному объекту может соответствовать много атрибутов
  • Примеры: местоположения отдельных объектов, дорожная сеть

Растровая структура:

  • Элемент структуры: пиксел
  • Объект: пиксел
  • Может находиться: только в ячейках регулярной прямоугольной сети
  • Хорошо подходит для описания и хранения непрерывных значений
  • Одному объекту соответствует одно значение
  • Примеры: космоснимки, отсканированные и географически привязанные различные картографически материалы, до этого бывшие бумажными.

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

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

Разумеется, в ГИС часто объединяют слои имеющие разные структуры для их совместной визуализации и анализа.

Представление данных

Важно понимать, что та структура данных, в которой они дошли до вас не обязательно равна структуре в которой они находятся исходно. Так, картографическую основу исходно всегда хранят в векторных структурах, но для распространения часто растеризуют. Передать один тайл отрисованный нужным образом гораздо легче, чем многослойную векторную структуру со множеством объектов.

Символика

Символика отвечает за визуальное представление данных, то есть то, как объекты отображаются на экране и карте. Цвет и толщина линии, которыми показывается объект на карте определяется его условным обозначением или стилем. Условные обозначения настраиваются через специальный интерфейс (редактор символики) и описываются в специальном файле. Совокупность условных обозначений всей карты иногда называют её легендой.

Символика объектов в ГИС как правило хранится отдельно от данных и по умолчанию, когда слой и объекты в нём только созданы, она вообще не описана. Но если ее нет, то как тогда их отобразить? Обычно эта дилемма решается тем, что точки, линии и полигоны показываются стандартными стилями.

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

Один и тот же набор данных представленный разными условными обозначениями

Системы координат

Геоданные могут находиться в бесконечном множестве систем координат, следует различать три группы: географические, проекционные и локальные. Системы координат принято идентифицировать по их коду EPSG.

Начинающему о системах координат важно знать три вещи:

  1. Диапазон значений которые могут принимать в них координаты
  2. Характер искажений
  3. Открытость перехода к другим системам координат.

Кратко о трех группах систем координат.

Географические

Приборы GPS/ГЛОНАСС сообщают пользователю координаты именно в географической системе координат.

Самая распространенная система координат такого типа: Широта/Долгота WGS84 (EPSG: 4326)

Диапазон значений координат: -180...180, -90...90Преимущества: Недостатки: Сложности в расчетах из-за того, что единицы измерения - градусы, а не метры. Сложности в статической визуализации, Google Earth прекрасно справляется с глобусом, но нам сложно узреть весь земной шар целиком.

Спроецированные

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

Диапазон значений координат: -100000[0] ... 100000[0]

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

Одна из распространенная система координат такого типа: Меркатор (EPSG: 3857), мы часто сталкиваемся с ней в веб-сервисах. Обратите внимание, что площадь Гренландии в ней визуальна равна площади Африки, что конечно не соответствует действительности. Эта проекция очень неточно передает площади, но зато точно передает углы, она была изобретена для мореплавателей, которым жизненно важно было держать правильный постоянный курс (угол).

Локальные

С этой системой координат мы сталкиваемся у только что отсканированных изображений или у любых данных, систему координат которых мы не знаем и не можем узнать. По большому счету, локальной может стать для нас и спроецированная система координат, описание которой мы потеряли и не можем восстановить.

Главный недостаток таких систем - мы не можем "сходу" перевести из них данные в географическую или проекционную систему. Для того, чтобы осуществить такой переход, понадобится ручная работа называемая "географической привязкой".

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

В целом, следует избегать использования геоданных локальных системах координат.

Форматы

Существует огромное количество форматов геоданных. Одна из крупнейших библиотек, позволяющих переводить данные из формата в формат, GDAL/OGR поддерживает 200 различных форматов векторных и растровых геоданных.

Многообразие форматов обусловлено скорее историческими причинами, форматы создавались для разных задач разными вендорами. Однако, для большинства задач достаточно познакомиться с несколькими, самыми распространенными и универсальными. Вам наверняка придется столкнуться со следующими форматами геоданных.

Векторные:

  • ESRI Shape - формат созданный компанией ESRI в 90х годах. Благодаря открытости очень сильно распространившийся, поддерживается практически любым ПО ГИС. Формат бинарный, поэтому заглянуть внутрь файлов данных без специальных инструментов нельзя, зато позволяет хранить данные значительно более экономично чем текстовые форматы. Из-за старости, наследует некоторые проблемы с кодировками атрибутивных данных и ограничения на длины строк атрибутивных данных (максимум 255 символов).
  • CSV - обычная таблица с разделителями, геометрии объектов прописаны в специальной форме в отдельном столбце. С данными в этом формате можно работать как в ПО ГИС, так и в простом табличном редакторе. Нет ограничений на длины строк. Очень удобный формат для небольших наборов данных. Для удобства работы в ГИС сопровождается специальными файлами VRT описывающими гео-составляющую.
  • OSM XML

Растровые:

  • GeoTIFF - универсальный стандарт де-факто для растровых данных, является расширением формата TIFF, в котором все специфичные для географии вещи прописываются в специальные теги. Обычно не используется в ситуациях, когда допустимо и требуется сжатие данных с потерями (хотя технически такое сжатие поддерживается), поэтому может быть не оптимален для хранения огромных массивов данных.

Слои

Данные в ГИС обычно разделяются на слои. Слои могут быть виртуальными и представлять собой просто выборки из общей базы данных, так и физически разделенными в разные базы данных. Разделение на слои позволяет легче управлять данными, улучшает "читаемость", но, пожалуй самое важное, разделение делает удобной визуализацию данных, позволяя временно отключать ненужные данные и включать нужные.

Данные могут делиться на слои по двум признакам:

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

Деление данных на слои может создать некоторые сложности:

  • необходимо следить за порядком слоёв при визуализации. Полигональные слои могут "закрыть" точечные или линейные, лежащие под ними.
  • объектам в разных слоях сложнее обеспечить необходимые пространственные отношения друг с другом.
  • легко попасть ситуацию дублирования одних и тех же объектов.

Проект

Общепринятым способом организации слоёв является проект. Проект - специальный файл описывающий общее содержание вашей ГИС. В проекте может хранится информация, которая обычно хранится во внешних файлах, такая как, например, описание систем координат слоёв. Также в проекте настраивается вид картографического произведения, порядок слоёв относительно друг друга (какой слой рисуется первым, а какой последним), настройка условных обозначений, иногда подписей и дополнительной графики.

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

Открытые геоданные

«Если вы не сделаете публично доступными карты, появятся люди на своих машинах с GPS, которые будут по всюду разъезжать со своими ноутбуками, отмечая каждую тропинку» Тим Бернерс Ли про Ordnance Survey, 2006

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

На территорию России открытые геоданные можно найти в следующих источниках.

OpenStreetMap - карта мира создаваемая самими пользователями, в отличие от похожих проектов данные имеют открытую лицензию ODbL. Понемногу становится источником "по-умолчанию" для любой базовой топографии. Не хранит тематические данные и несколько сложно вытащить данные в привычные для ГИС-специалиста форматы.

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

Региональные порталы данных - некоторое количество геоданных можно найти на региональных порталах, таких как, например Портал открытых данных г. Москвы или Геопортал Воронежской области. К сожалению, пока данные в виде именно геоданных распространяются довольно редко.

Основные инструменты

Что нужно делать, чтобы научиться эффективно работать с геоданными

Социализируйтесь

  1. ГИС нужно осваивать потому что:
    1. Это модно и современно
    2. Без специального ПО ГИС нельзя работать с данными
    3. Использование ГИС позволит эффективнее решить мои задачи связанные с геоданными.
    4. ГИС это очень мощный инструмент
  2. Какую форму представления лучше всего использовать для данных о рельефе?
    1. Растровую
    2. Векторную
    3. Зависит от задачи
  3. У вас географический объект и пара координат: 37, 55, какую систему координат для этого объекта нужно пробовать первой:
    1. Прямоугольная (спроецированная)
    2. Локальная
    3. Географическая
    4. Недостаточно данных чтобы ответить на вопрос
  4. Вы скачали с сайта набор данных и в его описании вы прочитали, что он находится в известной, несекретной системе координат, этого достаточно, чтобы уверенно сказать "я смогу наложить эти данные на свои":
    1. Да
    2. Нет
  5. Вам прислали набор геоданных, вы задумчиво смотрите на файлы и не видите среди них никаких метаданных, какие первые два вопроса вы зададите тем, кто вам их прислал?
    1. ____________________________________________________
    2. ____________________________________________________
  6. Вы разрабатываете мобильное приложение, подключились к API Яндекс.карт и по адресам извлекли координаты всех детских учреждений г. Москвы. В своём приложении вы наложили их на карту OpenStreetMap потому что она красивее. Когда вы рассказали про своё приложение знакомому участнику OpenStreetMap, он предупредил, что у вас могут быть проблемы. Что вы сделали не так?
    1. __________________________________________________
  7. OpenStreetMap это ГИС?
    1. Да
    2. Нет
    3. Ни в коем случае!

Исходные данные: тематика

Пишем скрипт на Python для получения данных с mos.memo.ru в виде таблицы (файл CSV).

Исходные данные: картооснова

Загружаем картооснову на территорию г. Москвы из ежедневных выгрузок данных OpenStreetMap на GIS-Lab.info

Создаем геоданные

Геокодирование

Берем таблицу расстрельных домов - геокодируем ее для создания геоданных.

Рассчитываем координаты (широту и долготу) точек.

Объединение данных и геоданных

Привязываем точки домов к полигональным домам - Join by location.

Также объединяем информацию о точках интереса - Join by attributes.

Привязка растровых данных

Привязываем и подкладываем в проект фрагмент карты Москвы 30х годов.

Расчеты

Настраиваем условные обозначения в зависимости от значения интересующего нас поля.

Красивые карты

Карта для печати

Создаем макет и выгружаем в PDF.

Карта для Веб

  1. Выберите любой интересующий вас показатель распределенный по территории всей страны: число мигрантов, демография, урожай пшеницы или количество упавших самолетов, любой. Сформируйте набор данных в виде файла CSV.
  2. Найдите и скачайте набор данных границ субъектов федерации.
  3. Привяжите значение показателя к каждому субъекту.
  4. Раскрасьте карту выбрав один из типов условных обозначений лучше всего иллюстрирующий распределение вашего признака.
  5. Rinse, repeat.

wiki.gis-lab.info

Примеры использования распределенных данных—ArcGIS Help

Доступно с лицензией Standard или Advanced.

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

Более подробную информацию об этих сценариях можно также найти в документе Обзор распределения данных с использованием баз геоданных.

Дерево реплик

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

Например, для некоторых организаций необходимо наличие возможности реплицировать базы геоданных одной организации между несколькими офисами. У каждого офиса имеется реплика, которая включает данные, применимые для данной области, и возможность переноса выполненных изменений в головной офис. Это позволяет головному офису выполнять анализ данных, которые являются актуальными по всей области простирания. Подключения, создаваемые в рамках одного офиса, имеют высокую скорость передачи данных, но скорость передачи данных между офисами намного ниже. Региональные офисы могут реплицировать свои базы геоданных в местные офисы по такой же технологии, как этот головной офис создает реплику своей базы геоданных для регионального офиса.

Центральный узел

Реплика базы геоданных может быть использована как главный узел по отношению к хост-компьютерам пользователей, считывающих и редактирующих данные. Для обеспечения высокой скорости подключения редакторы могут создать реплику для открепления данных с главного узла, выполнения редактирований и затем прикрепления изменений обратно путем синхронизации данных с базой геоданных.

Главный узел также может быть использован для передачи изменений между несколькими дочерними репликами. Чтобы переместить изменения из одной реплики в другую, сначала изменения в одной реплике синхронизируются с родительской (или главной) репликой. Затем вторая дочерняя реплика синхронизируется с родительской для получения этих изменений.

Мобильные пользователи

Мобильным пользователям, работающим в какой-то организации, например, полевой бригаде, требуется наличие возможности редактировать часть базы геоданных ArcSDE в полевых условиях. Им нужно полностью отключаться от инфраструктуры организаций, причем часто на длительный период времени. При подготовке конкретного рабочего наряда или проекта соответствующие данные необходимо реплицировать и перенести на портативное устройство, например, ноутбук. После этого устройство отключается от сети, что позволяет полевой бригаде работать независимо от сети. Полевая бригада сможет продолжать работать и изменять реплицированные данные, даже если они отключены от сети. Когда подключение к сети будет восстановлено, любые изменения, произведенные с данными, могут быть перенесены обратно и синхронизированы с данными, которые поддерживаются в базе геоданных ArcSDE.

Подсказка:

Для этого сценария рекомендуется, чтобы каждый полевой редактор работал со своей собственной репликой. Если редакторов много и они одновременно синхронизируют данные, мы рекомендуем, чтобы каждый редактор имел собственную версию и создавал по ней реплику. Это упрощает процесс синхронизации и предотвращает сбор конфликтующих данных.

Подрядчик

Некоторым организациям необходимо заключать контракты на обслуживание определенной части их базы геоданных и обеспечивать возможность ежемесячного внесения изменений этим подрядчиком. Организациям нужно иметь возможность вносить изменения, выполненные подрядчиком, без полной перезагрузки данных. Им также нужно иметь возможность просмотра только последних обновлений, произведенных за месяц, вместо того, чтобы выполнять тестирование по контролю качества для всего набора данных.

Это может быть выполнено путем отправки подрядчику реплики соответствующих данных для обновлений. Когда подрядчик отправляет изменения обратно в организацию, они могут быть синхронизированы с данными, которые поддерживаются в базе геоданных ArcSDE.

Создание и публикация баз геоданных

Организации необходимо поддерживать группу редакторов, а также группу пользователей, имеющих при входе в систему доступ только для чтения. Чтобы обеспечить доступ каждой группе, организация имеет две базы геоданных ArcSDE. Одна – рабочая база геоданных, которая редактируется напрямую редакторами, и другая – реплика этой базы геоданных, доступная только для чтения. Читатели могут получать доступ к данным через ArcIMS или ArcGIS for Server.

При таком подходе реплика в публикуемой базе геоданных является копией рабочей базы геоданных, но только с типом доступа "только для чтения". Данные публикуемой базы геоданных не нуждаются в создании версий. Репликация может быть ограничена на отправку данных только в одном направлении. Редакторские правки могут быть выполнены в рабочей базе геоданных и перенесены из нее в публикуемую базу геоданных. Эти изменения переносятся и синхронизируются с данными в публикуемой базе геоданных, а затем сохраняются для чтения.

Управление данными нескольких групп

В вашей организации управление данными может быть разделено между несколькими различными группами. Например, одна группа может быть ответственна за управление данными сетей коммуникаций, в то время как другая группа может заниматься данными базы земельных участков для того же региона. Другой пример, когда несколько команд работают над несколькими полностью независимыми проектами. Наборы данных для каждого проекта могут быть большей частью из различных географических регионов, но организации необходимо обеспечить централизованное хранение всех проектов.

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

Централизованные данные из нескольких источников

Другая общепринятая практика при репликации – использовать централизованное место, где собираются все данные. Действующие таким образом организации содержат централизованную базу геоданных, в которую поступают данные из других офисов.

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

Более подробную информацию см. в статье Использование сжатия баз геоданных ArcSDE с репликами.

Связанные разделы

desktop.arcgis.com


Смотрите также