В какой системе координат работает google earth
Перейти к содержимому

В какой системе координат работает google earth

  • автор:

Бесплатные геоинформационные решения QGIS и NextGIS

image

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

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

Тогда я наше время для некоторого углубления в предмет и изучения рынка, проанализировал различные платные и бесплатные ГИС, и выяснил, что знакомые геодезисты и специалисты, работающие в сфере градостроительной деятельности, предпочитают ГИС «ИнГЕО» (тот же AutoCAD, только заточенный под создание информационной системы обеспечения градостроительной деятельности). Другая часть ГИС-пользователей устанавливает на свои компьютеры MapInfo.

Но тут оказалось, что менее искушенные товарищи радуются бесплатному (Open Source) решению QGIS, которое с их слов закрывает нужды широкого круга специалистов, от руководителей экономической безопасности и директоров строительных компаний до геодезистов. Причем, закрывает не хуже по отношении к названным выше коммерческим ГИС, чем LibreOffice нужды пользователей Microsoft Word — вопрос исключительно в привычке.

Так QGIS стал для меня персональным открытием года. И если сначала с недоверием отнесся к утверждению своего знакомого, что QGIS быстро вытесняет дорогостоящие профессиональные ГИС, то теперь полагаю, что такое утверждение имеет право на жизнь.

На скриншоте ниже показан пример данных, обработанных нами в QGIS и выложенных на бесплатный облачный веб-сервис NextGIS.com для совместной работы. С NextGIS.com мы познакомимся ниже.

image

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

Приятные сюрпризы от изучения QGIS и NextGIS продолжаются по сей день. Пришло время поделиться опытом.

Геоинформационная система QGIS

QGIS – это свободная бесплатная десктопная географическая информационная система с открытым кодом. С ее помощью можно создавать, редактировать, визуализировать, анализировать и публиковать геопространственную информацию в Windows, Mac, Linux, BSD (а вскоре и на Android). Система хорошо документирована на русском языке, плюс у нее обширное русскоязычное сообщество пользователей и разработчиков.

Функциональность QGIS определяется большим количеством устанавливаемых расширений, загружаемых через меню «Управление модулями». Можно найти модули под самые разнообразные задачи, от геокодинга, до упрощения геометрии, интеграции с картографическими веб-сервисами и 3D-моделирования ландшафта.

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

Файл проекта и файлы слоев QGIS

Основные объекты, с которыми пользователь работает в ГИС – это слои. Обычный слой представляет собой таблицу, каждой строке которой соответствуют по одному объекту на карте. В отличие от привычных каждому таблиц в стиле Microsoft Excel кроме атрибутивных данных, таких как, например, наименование объекта недвижимости, арендатора, адреса, площади и т.д., в таблице QGIS есть столбец, по умолчанию скрытый, с так называемой «геометрией» объекта – пространственными данными, позволяющими отобразить на карте объект, описанный в соответствующей строке этой таблицы.

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

  • точки;
  • линии, в том числе ломаные;
  • полигоны (замкнутые линии площадных объектов).

В простейшем варианте пользователь создает свои слои в табличных файлах с расширением «.shp» (от англ. Shape – форма, облик) – родном формате QGIS. Один слой (таблица) содержится в одном файле .shp. Если необходимо передать кому-то картографическую информацию для дальнейшей работы, то можно отправить один файл «.shp», хотя во многих случаях целесообразнее запаковать в архив и передать всю папку проекта.

Как уже было сказано, для хранения геометрии отводится отдельное поле в таблице слоя. Если его нет в источнике (файле, базе данных, внешнем приложении), то QGIS поможет его создать. Это значит, что можно, например, присоединить в проект выгруженный из Microsoft Excel файл с адресами контрагентов в формате CSV, создать в нем поля геометрии или конвертировать в полноценный слой «.shp» для отображения этих адресов на карте.

QGIS позволяет присоединять в проект файлы таблиц слоев во множестве форматов, например MapInfo, ArcGIS или даже CSV, но как правило, после присоединения я их сразу конвертирую в формат QGIS (.shp), так как при этом появляются дополнительные возможности, особенно в части стилизации. Иногда присоединенные файлы слоев имеют неверную кодировку текста. В этом случае правильную можно выбрать в свойствах слоя.

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

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

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

Стили

Таблицы с данными и правила их отображения на карте (стили) хранятся и обрабатываются QGIS раздельно. Что такое таблицы мы поняли, теперь необходимо разобраться с тем, что такое стили.

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

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

Использование слоев из публичных источников

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

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

После установки модуля откройте в его настройках вкладку «Загрузить сервисы» и нажмите кнопку «Получить источники данных». Вам станут доступны публичная кадастровая карта, фотопланы от Google и Yandex, лицензионно чистая и, на мой взгляд, наиболее подробная из доступных карт OpenStreetMap (она же OSM), а также еще десятки полезных слоев, которые можно разместить в своем проекте.

Кроме того, некоторые сервисы предоставляют полезную информацию для автоматического анализа. Например, из OSM можно получить все региональные и федеральные дороги на карте с номерами, типами дорог, покрытием и т.д.

Геокодинг

Геокодинг – замечательное изобретение. Если под рукой есть таблица в Excel с адресами 10000 объектов (например, перечень контрагентов), почему бы их тоже не анализировать на карте.
Для этого в QGIS конвертируем таблицу из CSV-файла в слой .shp (модуль «RuGeocoder»). При этом таблица слоя получит скрытый столбец с геометрией (координатами точек), но он пока будет пуст.

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

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

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

Полезно понимать, что существуют различные системы координат. Их сотни.

В школе мы изучали только географические (WGS-84), представляющие точку на карте в виде градусов, минут, секунд широты и долготы. Однако в геоинформационных системах географические координаты хранятся в градусах и их десятичных долях, а минуты и секунды не используются (например, описание точки с координатами 45°34′55″ северной широты и 15°30′0″ западной долготы будут выглядеть так: 45.581944°, -15.5°).

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

Зачем их так много? Дело в том, что допущение о плоской планете не позволяет использовать одну местную систему координат по всей Земле, так как уже через несколько сотен километров погрешность становится ощутимой. Зато они незаменимы в случае, когда требуется высокая точность на территории, ограниченной несколькими градусами широты и долготы. Так в Московской области геодезистами используются системы МСК-50 зоны 1 или 2.

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

Информация о системе координат хранится вместе с таблицей в shp-файле QGIS, и передавая кому-либо файл слоя вместе с ним вы передаете соответствующие настройки. В других источниках слоев, включаемых в проект, информация о системе координат может отсутствовать. Поэтому, если вы получили от кого-либо слой с информацией, которая почему-то не отображается на карте, сделайте следующее – откройте таблицу объектов этого слоя, выделите любую строку и нажмите кнопку перехода к объекту. Если на экране отобразилась Африка или мировой океан, значит, QGIS систему координат распознал неправильно. Уточните у тех, от кого получен источник (файл), в какой системе координат хранятся данные, и установите ее для слоя в QGIS.

Если нужной системы координат нет в QGIS, то ее можно ввести самому (Пользовательская система координат). Для этого надо знать строку настроек. Google вам в помощь — попытайтесь использовать запрос с наименованием искомой системы плюс, например, «пользовательская система координат QGIS».

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

Чтобы исправить ситуацию я создал в QGIS собственную пользовательскую систему координат со следующими параметрами, подобранными эмпирическим путем, и установил ее для слоев кадастровой карты:

+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=-11.0 +y_0=-6 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs

В результате проблема снята.

Немножко высшего пилотажа

Первое. Интересен вариант хранения пространственной информации в базе данных. Если есть база данных Microsoft SQL, Oracle или Postgres в которых, например, находится таблица с перечнем контрагентов с их адресами или таблица со списком оборудования, раскиданным по территории, то эту таблицу (запрос) полезно зацепить в QGIS.

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

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

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

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

Для этого создаем слой .shp, располагаем на нем объекты, занося в один из атрибутов уникальные номера, соответствующие идентификаторам этих объектов в 1С. То-есть в обеих таблицах должны быть поля с одинаковыми идентифицирующими данными по которым их можно связать между собой. Настраиваем в свойствах слоя .shp соответствующие связи. В результате мы не меняем из QGIS данные 1С, но их изменение со стороны 1С сразу влияет на отображение объектов и сопутствующей информации на карте в QGIS. Осталось настроить свойства слоя карты для красивого отображения информации и наслаждаться результатом в реальном времени.

Третье. Отображать данные на карте в QGIS можно не только точками, линиями и полигонами с надписями, но и диаграммами, формируемыми автоматически на основе представленных данных.

Четвертое. Можно получать из QGIS аналитику в виде таблиц и итоговых данных, рассчитанных с учетом геопространственной информации. Например, имея таблицу населенных пунктов с количеством жителей в каждом и таблицу дорог из OSM, быстро подсчитать население, проживающее на расстоянии более 3 километров от региональных и федеральных автодорог.

NextGIS.com

Еще одним открытием года для меня стал облачный продукт NextGIS.com. Молодая российская команда NextGIS активно участвует в развитии QGIS. В этом можно убедиться по количеству доступных в QGIS модулей их производства. В 2016 году они запустили упомянутый картографический веб-сервис и неустанно расширяют его возможности.

Исходники проекта доступны на github. Так что если есть желание развернуть веб-сервис самостоятельно — нет проблем. Однако условия, которые предлагает команда NextGIS для доступа к своем облаку, без сомнения заслуживают внимания даже самых прижимистых пользователей.

Создать свою собственную веб-ГИС в облаке NextGIS можно бесплатно. Вы получите доменное имя в формате вашеимя.nextgis.com и можете почти без ограничений использовать все предоставляемые ими вкусности. Самое то, чтобы начать знакомиться с решением и использовать его на практике. Главное ограничение бесплатной подписки – невозможность ограничить доступ на чтение к информации. Любой может видеть то, что размещено вами.

Уже с бесплатной подпиской вы можете создавать сколько угодно веб-карт с произвольными настройками, компоновкой и стилями загруженных вами слоев, а также рассматривать, анализировать карты на рабочем компьютере и, в комплекте с NextGIS Mobile, собирать данные в поле, размещая их сразу в облако. Можно встраивать карты в веб-сайты или смотреть на сервисе.

Платная подписка снижает ограничения, в том числе по количеству пользователей, редактирующих слои (изначально один пользователь), разграничению их прав. Какие-то слои можно показать всем, а права доступа к другим ограничить. Плюс предоставляется возможность использовать собственное доменное имя, например gis.моякомпания.ru и получить разнообразие преднастроенных подложек (в бесплатной подписке есть только карта OpenStreetMap).

Со слов представителя компании сейчас условия подписки меняются. Ориентироваться нужно на информацию, размещенную на сайте сервиса по адресу nextgis.ru/pricing. Ранее платный тариф был единым и составлял 3000 руб.в месяц. Теперь платная подписка стоит от 600 рублей. Обещают, что за те же 3000 руб. в месяц клиент будет получать полный и актуальный комплекс программного обеспечения и сервисов, как и раньше.

Интеграция QGIS и NextGIS.com

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

  • зайти в QGIS в свойства слоя и из них сохранить стиль в файл;
  • сохранить файл слоя в системе координат WGS 84 (EPSG:3857).

  • войти в свой аккаунт на своем сайте в облаке NextGIS.com,
  • создать новый слой через опцию «Создать ресурс — Векторный слой» и во вкладке «Векторный слой» загрузить файл с расширением .shp.

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

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

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

Модуль NextGIS Connect для QGIS

Установите через меню QGIS «Управление модулями» модуль NextGIS Connect. В интерфейсе появится виджет «Ресурсы NextGIS». В его настройках создайте подключение, указав данные вашего аккаунта, в том числе адрес своего сайта (в формате «http://мойсайт.nextgis.com»), имя пользователя «administrator» и полученный при регистрации пароль. Вместо ввода логина и пароля можете использовать учетную запись гостя, но с нею не удастся загружать данные из QGIS на веб-сайт — можно только получать информацию с сайта. После регистрации на экране отобразятся все ваши ресурсы на облачном сервисе.

Теперь для того, чтобы разместить слои QGIS на веб-карте есть два способа.

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

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

Поэтому есть второй способ более изящный, предназначенный для работы с уже созданными веб-картами. Для этого мы поднимаем из QGIS в облако NextGIS.com по одному новому или измененному слою:

  • удаляем в окне NextGIS Connect слои, которые хотим поднять обновленными;
  • выбираем в окне NextGIS Connect конечную папку ресурсов;
  • выделяем слой в QGIS правой кнопкой мыши и в контекстном меню выбираем «NextGIS Connect – Импортировать выбранный слой». Выбранный слой копируется в облако вместе с его стилем;
  • повторяем действия для всех слоев, которые хотим обновить на веб-карте;
  • выделяем в окне NextGIS Connect карту на которой собираемся разместить слой и переходим на нее щелчком правой кнопки мыши через контекстное меню «Открыть в ВебГИС»;
  • в открывшемся окне ресурса веб-карты на сайте нажимаем кнопку «Изменить», выбираем вкладку «Слои» и нажимаем кнопку «Добавить слой». Находим загруженные слои и добавляем на карту стили, размещенные под каждым из них. Нажимаем «Сохранить».

Готово, по ссылке «Веб-карта – Открыть» увидите карту с прежним URL и комбинацией старых и обновленных слоев.

Растровые слои

Полезность пользовательских растровых слоев в качестве подложек карт при работе в QGIS очевидна не сразу, поскольку существует модуль расширения «Quick Map Services», который в пару кликов добавляет в проект слои публичных веб-карт, например Яндекс-Спутника или кадастровой карты.

Но со временем нужда в них появляется в следующих случаях если:

  • на карте нужен более детализированный, чем доступные публично, фотографический план отдельного объекта или территории, который есть у вас в наличии
  • вы работаете в дороге, при нестабильном доступе в Интернет или если вас досаждает длительная загрузка публичных снимков при каждом перемещении экрана;
  • вы пользуетесь бесплатной версией NextGIS.com, а единственная подложка OpenStreetMap на ваших веб-картах вас не устраивает.

На что надо обратить внимание:

  1. Предпочтительный формат файла для хранения растровых данных – GeoTIFF с компрессией JPEG. Он занимает мало места, единственный загружается на NextGIS.com и может содержать тайлы – маленькие разномасштабные изображения, эффективно и быстро открывающиеся на веб-карте при перемещении экрана. Все тайлы по умолчанию хранятся в одном файле, но этого монстра не надо каждый раз загружать себе на компьютер, из него будут выбираться строго необходимые куски-тайлы. Однако, если файл все равно слишком велик для вас или для загрузки на сервис веб-карты, то его можно разбить на части как это показано (2×2 куска, 4 файла) в указанных выше настройках.
  2. В проект QGIS растровый слой можно поместить простым перетаскиванием. А если надо скрепить несколько частей, то можно использовать так называемый «виртуальный слой» или просто собрать все растровые слои в группу.
  3. Максимальный масштаб для Yandex-Спутника равен 18. 17 достаточен для многих задач, а файл с тайлами уменьшается значительно.
  4. При склейке в SAS.Planet в GeoTIFF-файле размещаются только тайлы указанного масштаба, и после прикрепления растрового слоя в проект QGIS в свойствах слоя рекомендуется выбрать опцию «Пирамиды». Растры высокого разрешения могут замедлить навигацию в QGIS. Создание копий данных низкого разрешения (пирамид) позволяет существенно повысить скорость, поскольку QGIS будет автоматически выбирать оптимальное разрешение в зависимости от текущего масштаба. Создайте пирамиды меньших размеров.

NextGIS Mobile

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

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

Вместо заключения

Есть еще множество способов работы с упомянутыми выше решениями. Например, слои можно разместить на каком-нибудь бесплатном или собственном сервере баз данных PostgreSQL, вести с ними работу в QGIS и других приложениях, например LibreOffice, Microsoft Access или Microsoft Excel, а на сайте NextGIS.com один раз настроить слой для отображения на веб-карте. В результате все изменения данных в QGIS или в Microsoft Excel немедленно будут отображаться на веб-карте.

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

В любом случае, связка QGIS, NextGIS.com и NextGIS Mobile является гибким и полезным инструментом, доступным каждому. Переход к работе с ГИС для решения прикладных задач с географически распределенными данными – увлекательная задача и усилия по изучению предмета окупаются возможностями, которые мы тем самым открываем перед собой.

В заключение для иллюстрации материалов статьи предлагаю вот это короткое видео.

Системы координат, проекции карт и преобразования

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

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

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

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

Горизонтальные системы координат

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

Географические системы координат (GCS) основываются на трехмерной эллипсоидальной или сферической поверхности, а местоположения задаются угловыми измерениями, выраженными, как правило, в десятичных градусах, выражающие значения долготы (координаты x) и широты (координаты y). Местоположение данных может быть выражено положительными и отрицательными числами: положительными значениями х и у для районов севернее экватора и восточнее начального меридиана и отрицательными значениями х и у для районов к югу от экватора и западнее начального меридиана.

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

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

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

Вертикальные системы координат

Вертикальные системы координат бывают гравитационные и эллипсоидальные.

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

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

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

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

Внимание:

Помните, что эллипсоидальная вертикальная система координат не принимается во внимание при прорисовке. Это можно увидеть при вытягивании объектов.

Картографические проекции

Проекция — это способ отображения системы координат и своих данных на плоской поверхности, т.е. на листе бумаги или на экране. Для конвертации системы координат, используемой на не плоской поверхности Земли, в систему координат для плоской поверхности используются математические вычисления. Поскольку транспонировать не плоскую поверхность на плоскую без искажений невозможно, используются разные картографические проекции с разными свойствами. Некоторые сохраняют площадь, другие – углы. Некоторые сохраняют отдельные расстояния и направления. Ваш выбор картографической проекции должен быть сформирован экстентом, местоположением и свойствами, которые вы захотите сохранить для вашей системы координат проекции. На платформе ArcGIS существует приблизительно 6 тысяч систем координат, поэтому вы, вероятно, найдете подходящую для ваших данных. Если нет — вы можете создать пользовательскую систему координат проекции из более 100 проекций карты для отображения данных.

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

См. список всех поддерживаемых в ArcGIS Pro картографических проекций.

Преобразования

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

Связанные разделы
  • Работа с системами координат
  • Географические преобразования датума
  • Вертикальные системы координат
  • Как задать новую систему координат

Форумы GIS-Lab.info

Есть в наличии карта в файл (bmp) размером 30720×23040 пикселей. Файл содержит только изображение, других данных нет. То есть по углам карты нет никаких координат. Фрагмент карты. На карте мне известны координаты всех строений (домов), но эти координаты представлены в локальной системе координат, то есть задаются по оси x и y.

Мне необходимо привязать эти данные к Google Maps.

В идеале хочется получить:

Преобразовать все точки с карты в координаты для Google Maps, которые хранятся в MySql’e. + пересчет всех точек делать автоматически.

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

Сообщения: 852 Зарегистрирован: 15 сен 2005, 13:19
Репутация: 6 Откуда: москва Контактная информация:

Re: Перевод из одной системы координат в другую

Сообщение geologic » 18 мар 2009, 16:36

Прежде чем что-либо делать — рассчитывать, строить, преобразовывать — вам нужно привязать вашу картинку (ваш растр). Привязывать надо не просто «к имеющимся данным» (координатам), а к данным в какой-либо известной системе координат. По научному это называется «геореференсировать». Поскольку системы координат и проекции на их основе бывают разные, нужно выбрать одну. Удобнее привязывать к «родной» проекции, к той, в которой карта изначально была сделана. Для российских топокарт и планов это, как правило, Проекция Гаусса-Крюгера на основе СК Пулково-42. Как установить проекцию и как привязывать, зависит от софта, которым вы умеете пользоваться — OZI Explorer, Mapinfo, ArcView, ArcGIS etc.

Общие принципы геопривязки, привязка в ArcView/ArcMap
http://www.geofaq.ru/art/2wld.shtm
О проекциях вообще, типовые вопросы-ответы
http://gis-lab.info/qa/proj-sk-faq.html

Максим Дубинин MindingMyOwnBusiness
Сообщения: 9108 Зарегистрирован: 06 окт 2003, 20:20 Статьи: 231 Проекты: 12/6
Репутация: 742 Ваше звание: NextGIS Откуда: Москва Контактная информация:

Re: Перевод из одной системы координат в другую

Сообщение Максим Дубинин » 18 мар 2009, 18:03

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

Не надо писать, разумеется все давно написано. Берете например свободный gdal и привязываете.
пристегивайтесь, турбулентность прямо по курсу
Tonic Новоприбывший
Сообщения: 12 Зарегистрирован: 16 фев 2009, 09:11
Репутация: 0

Re: Перевод из одной системы координат в другую

Сообщение Tonic » 19 мар 2009, 10:33

geologic писал(а): Привязывать надо не просто «к имеющимся данным» (координатам), а к данным в какой-либо известной системе координат. По научному это называется «геореференсировать». Поскольку системы координат и проекции на их основе бывают разные, нужно выбрать одну. Удобнее привязывать к «родной» проекции, к той, в которой карта изначально была сделана. Для российских топокарт и планов это, как правило, Проекция Гаусса-Крюгера на основе СК Пулково-42.

sim писал(а): Не надо писать, разумеется все давно написано. Берете например свободный gdal и привязываете.

Сюда вопрос! Как при помощи gdal (может еще что есть) «геореференсировать» карты из Пулково-42 в WGS-84(или в другую). Это надо для того чтобы корректно нарезать советские карты с помощью программы MapCruncher (здесь инструкция по ней).
При простой привязки карт с ее помощью идут погрешности.

Сообщения: 852 Зарегистрирован: 15 сен 2005, 13:19
Репутация: 6 Откуда: москва Контактная информация:

Re: Перевод из одной системы координат в другую

Сообщение geologic » 19 мар 2009, 10:45

Конкретно про GDAL думаю, sim расскажет, это действительно бесплатный и хороший софт. Я же поправлю чисто логику ваших рассуждений. Вы, похоже, не очень прочитали мои объяснения, ну и по ссылкам тем более не дошли до сути?

Геореференсировать ваш лист надо не из одной проекции с другую, а В ОДНОЙ проекции ДО того, как вы будете преобразовывать. Ну как бы чтобы программы знали, в какой географической системе составлены ваши данные или идут на данный момент. Им пачпорт, тскать, оформить, точнее, регистрацию Эти азы хорошо изложено по ГИС-лабовской ссылке. Лучше геореференсировать в ГК, но можно и сразу на WGS натянуть. В географическую систему (широта-долгота) нежелательно, в любом софте будут те самые искажения, которых вы опасаетесь.

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

Последний раз редактировалось geologic 19 мар 2009, 12:04, всего редактировалось 1 раз.
Tonic Новоприбывший
Сообщения: 12 Зарегистрирован: 16 фев 2009, 09:11
Репутация: 0

Re: Перевод из одной системы координат в другую

Сообщение Tonic » 19 мар 2009, 10:57

geologic писал(а): не очень прочитали мои объяснения

Извиняюсь, что влез не в свою тему, но вопросы похожие, только у меня он проще (ИМХО), т.к. я знаю первоначальные данные растровых изображений (советские карты в Пулково-42, причем привязанные в OziExplorer-е), т.е. «пачпорт» известен (осталось сменить гражданство и получить новый «пачпорт») .
А вот каким софтом это сделать и как правильно? (желательно со свободной лицензией)

database Новоприбывший
Сообщения: 3 Зарегистрирован: 18 мар 2009, 00:26
Репутация: 0

Re: Перевод из одной системы координат в другую

Сообщение database » 19 мар 2009, 12:44

geologic писал(а): Прежде чем что-либо делать — рассчитывать, строить, преобразовывать — вам нужно привязать вашу картинку (ваш растр). Привязывать надо не просто «к имеющимся данным» (координатам), а к данным в какой-либо известной системе координат. По научному это называется «геореференсировать». Поскольку системы координат и проекции на их основе бывают разные, нужно выбрать одну. Удобнее привязывать к «родной» проекции, к той, в которой карта изначально была сделана. Для российских топокарт и планов это, как правило, Проекция Гаусса-Крюгера на основе СК Пулково-42. Как установить проекцию и как привязывать, зависит от софта, которым вы умеете пользоваться — OZI Explorer, Mapinfo, ArcView, ArcGIS etc.

Общие принципы геопривязки, привязка в ArcView/ArcMap
http://www.geofaq.ru/art/2wld.shtm
О проекциях вообще, типовые вопросы-ответы
http://gis-lab.info/qa/proj-sk-faq.html

Но у меня вообще нет никаких данных, кроме точек по осям x и y.

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

Tonic Новоприбывший
Сообщения: 12 Зарегистрирован: 16 фев 2009, 09:11
Репутация: 0

Re: Перевод из одной системы координат в другую

Сообщение Tonic » 19 мар 2009, 14:06

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

Такое преобразование делает программа MapCruncher и затем создает web хранилище подобное GoogleEarth.
Далее я подсовывал эти данные после определенного преобразования программе, которая работает GoogleEarth-снимками типа кеша, чтобы работать локально.

Сообщения: 852 Зарегистрирован: 15 сен 2005, 13:19
Репутация: 6 Откуда: москва Контактная информация:

Re: Перевод из одной системы координат в другую

Сообщение geologic » 19 мар 2009, 14:41

Ладно, пока ждем знатоков GDAL, попробую закончить ликбез. В принципе это все изложено в статье
http://www.geofaq.ru/art/2wld.shtm, и когда у вас есть точки, и когда нет, и когда вы знаете проекцию, и когда не знаете, и так далее. Вкратце оттуда:

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

— на что наложить? Желательно на карту в той же проекции, что и листик. Они как бы будут «в одной плоскости», и листиик не придется жамкать, выпучивать и т.п. Только подвинуть и совместить, ну максимум, повернуть.

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

— где взять такую карту? Скорее всего, ваш листик сделан с плана города, а тот с топокарты, так что с вероятностью 99% проекция — ГК зона. зона. О зоне потом. Просто возьмите любую УЖЕ ПРИВЯЗАННУЮ карту на ваш город. Где? В интернете. Скорее всего, на мапстор. Привязка там будет под ози эксплорер.

— можно ли сразу привязывать «на гугл»? «Пришпандорить по точкам», не разбирая проекций? Можно, но нежелательно, говорил уже выше, почему.

— как привязывать именно под ОЗИ эксплорер? См. статью вот тут.

— как привязывать в другой программме, не имея ни привязанной карты-основы, ни никаких координат с точками? Очень просто, нужно эту карту опять-таки найти и привязать самому. На углах карт (в отличие от вашей) есть координаты, и во всех статьях расписано, как это делать под конкретный софт. Далее на эту карту уже ложите ваш листик примерно как вышеописано.

Фу-у-у, прямо новая статья вышла — геопривязка «для совсем чайников», разрабатывающих свой картографический сервис

2Tonic — Если материалы уже привязаны, сменить проекцию и формат вашего растра бесплатно можно ведь не только в GDAL (который без интерфейса), но и через FWTools (интерфейс для GDAL), приходилось пользоваться. Ну и разумеется, Global Mapper попробуйте. Схема обычно одинакова — открываешь растр, убеждаешься, что он в известной проекции, указываешь другую проекцию и формат файла, ждешь, пока переварпится растр и геопривязка к нему.

Как высчитать ключи перехода от любой системы координат к WGS с сантиметровой точностью?

Для кого этот пост — картографы, геодезисты, генпланисты, строители и т.д.

Решаемая проблема — получение 100% достоверных параметров для пересчета координат, например в привычные картографические градусы (WGS84). Коллеги уже поняли про что я, а любопытным поясню — дело в том, что гуляющие по интернету приложения и алгоритмы с параметрами пересчета координат например из выписки ЕГРН на вашу дачу в координаты для GPS приемника, в подавляющем большинстве будут «лаптем по карте». Для поиска объекта размером с дом, это не будет проблемой, а вот для инженерной затеи, уже слабовата точность. К примеру мы хотим обозначить границы на местности с сантиметровой точностью, найти трубу под землей или кабель, запустить беспилотник по картам с плоскими координатами, чертить чертеж в плоских координатах с картографической онлайн основой из интернета и многое другое, что требует субметровой точности.

Почему точные координаты становятся не точными

Плоские метровые координаты, знакомые нам из сведений о нашей недвижимости или из проектов и чертежей очень точны локально, но для привязки их к земному шару одной математики мало. Дело в том, что математическая модель «плоской, метровой» системы координат из документов, сначала была реализована на местности в виде геодезических пунктов, с точностью тех технологий, какие были на тот момент (в РФ большая часть систем координат развита в советское время и действуют по сей день). И уже потом от этих геодезических пунктах первого класса, создавались другие, от тех еще другие, от них всех производные секретные системы координат такие как СК63 с разворотами и искажениями координатной сетки, дабы врага запутать. При каждом таком преобразовании допускались искажения, незначительные, но нарастают они не линейно относительно количества преобразований, а намного прогрессивнее. В итоге большая часть координатных сеток сейчас похожа на чуть помятую и стянутую с одного края простыню. Именно поэтому 99% геокалькуляторов не спасут Вас от «помятой простыни» координатной сетки. Есть несколько геодезических сервисов для пересчета координат, платных, могу предположить, что там люди считают не по теоретическим параметрам системы координат, а обладают всеми параметрами «помятой простыни». В большей части РФ надо рассчитывать параметры системы координат для небольших территорий, радиус этих территорий часто не превышает 15км. При таких небольших территориях искажения координатной сетки часто не превышает сантиметра, система координат очень точно «лежит» на земном шаре. Если Ваш интерес вылезает за 20-30км пространства, то необходимо несколько локальных параметров перехода рассчитывать на меньшие территории, дробить систему координат на более мелкие подзоны.

Изобретаем велосипед?

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

image

Расскажу кратко, как это работает

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

Веб форма высчитывает параметры системы координат и выводит на экран в двух популярных и применимых в 99% ГИС системах форматах — proj строка и WKT.

Тут немного рассказов про те самые параметры и немного терминологии

Много непонятных букв

Геоцентрическая система координат, это система где есть три пространственные координатные оси проходящие через центр земли. Координаты в такой системе имеют вид x,y,z или привычные нам широта и долгота измеряемые градусами угла от нулевой точки через землю lat long h. При этом высота h отсчитывается не от центра земли как в первом случае, а от эллипсоида, сферы, геоида (упрощённой модели поверхности земли).

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

Местная система координат (МСК) — как правило прямоугольная система координат, обслуживающая небольшую локальныю территорию. Часто распостраняется на территорию района или города, где её искажения не критичны для точности строительства, кадастра и т.д.

Параметры системы координат состоят из нескольких отдельных параметров, опишем каждый из них. Возьмём строку параметров PROJ4 (MapInfp, ArcGIS и т. д. Так же используют эти параметры, только структура записи иная): +proj=omerc +lat_0=59.8338730825 +lonc=33 +alpha=-0.0001 +gamma=-1.771957267229058 +k=0.9996584453038837 +x_0=2365031.423134961 +y_0=426397.2888527482 +ellps=krass

Модель земного шара (+ellps=krass)— в нашем случае это эллипсоид Красовского. Под этим названием эллипсоида скрывается параметры примерного описания земного шара: направление координатных осей и углы между осями, диаметр, сжатие на полюсах и т. д. Выбрать необходимый эллипсоид можно опытным путём либо зная основываясь на какой системы координат родилась интересующая вас МСК. На территории РФ, большая часть МСК выходцы из СК42 с эллипсоидом Красовского.

Проекция земного шара на плоскость (+proj=omerc) — метод с помощью которого прямоугольные координаты проецируются за круглую землю. Самый распространённый алгоритм это «апельсиновые дольки», если порезать апельсин по долькам, отделить от долек шкурки.

Расправленную шкурку положить на лист в клетку и получится проекция Меркатора. Бывают разные проекции с разными направлениями и размерами долек, бывают цилиндрические проекции, это когда апельсин превращают в цилиндр и раскатывают кожуру на плоскость, конические и т. д. Выбрать необходимую можно опытным путём либо зная основываясь на какой системы координат родилась интересующая вас МСК. На территории РФ, большая часть МСК выходцы из СК42 с проекцией Меркатора. Для точных локальных параметров МСК на малых территориях рекомендуем применять косую проекцию Меркатора (omerc).

Центр проекции в градусах (+lat_0=59.8338730825 +lonc=33) — это то место, где расправленная «шкурка апельсина» меньше меньше всего растягивается для достижения плоскости (обычно серединка шкурки дольки), место с наименьшими искажениями. Грубо говоря место где плоский лист МСК прикасается к шарику нашей планеты. Часто для центральной точки выбирают точку центра района геодезических работ.

Развороты (+alpha=-0.0001 +gamma=-1.771957267229058) разворот осей координат МСК относительно меридиана.

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

Координаты центра проекции в метрах (+x_0=2365031.423134961 +y_0=426397.2888527482), можно рассматривать как значение смещения начала отсчёта координат в плоской МСК.

За основу взяты опенсорсные пакеты —

  • proj4 для геодезических трансформаций
  • Leaflet для отображения информации на карте
  • geophp для расчета территории действия параметров с сантиметровой точностью (на момент написании статьи не реализовано)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *