6.1. Занятие: пере-проецирование и преобразование данных

Давайте еще раз поговорим о справочной системе координат (ССК). Мы вкратце касались этой темы раньше, но не обсуждали, что это означает на практике.

Цель этого урока: Пере-проецирование и преобразование векторных наборов данных.

6.1.1. basic Идем дальше: Проецирование

ССК, в которой сейчас находятся все данные, а также сама карта, называется WGS84. Это очень распространенная географическая система координат (ГСК) для представления данных. Но имеется проблема, которую мы далее изучим.

  1. Сохраните вашу текущую карту.

  2. Затем откройте карту мира, которую вы найдете здесь exercise_data/world/world.qgs.

  3. Приближайте Южную Африку с помощью команды Zoom In.

  4. Попробуйте установить масштаб в поле Scale, которая находится в Панели Состояния  в нижней части экрана. Находясь над Южной Африкой, установите значение 1:5 000 000 (от одного до пяти миллионов).

  5. Перемещайтесь по карте и одновременно смотрите на поле Scale.

Вы заметили изменение масштаба? Потому, что вы удаляетесь от той точки, на которую вы увеличили масштаб 1:5 000 000, который находился в центре экрана. Вокруг этой точки масштаб другой.

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

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

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

6.1.2. basic Идем дальше: Пере-проецирование «на лету»

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

Вы можете изменить ССК проекта, нажав на projectionEnabled Current projection в правом нижнем углу QGIS.

  1. В диалоговом окне, которое появляется, введите слово global в поле Filter. Несколько ССК должны появиться в поле Predefined Reference Systems ниже.

  2. Выберите WGS 84 / NSIDC EASE-Grid 2.0 Global | EPSG:6933, кликнув по ней, а затем кликните на OK.

    Обратите внимание, как поменялся облик Южной Африки. Все проекции работают, изменяя видимые формы объектов на Земле.

  3. Увеличьте масштаб до 1:5 000 000 снова, как и раньше.

  4. Прокрутите карту.

    Обратите внимание на то, что масштаб остался прежним!

Пере-проецирование «на лету» также используется для объединения наборов данных, которые находятся в разных ССК.

  1. Добавьте на карту еще один слой вектора, который содержит данные только по Южной Африке. Он появится как exercise_data/world/RSA.shp.

  2. Загрузите его. Можно быстро посмотреть на его ССК после наведения указателя мыши на слой в легенде. Она такая EPSG:3410.

    Что вы заметили?

    Слой виден, даже если он имеет другую ССК, которая отличается от ССК continents.

6.1.3. moderate Идем дальше: Сохраняем набор данных в другой справочной системе координат (ССК)

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

Имейте в виду, что пере-проецирование, осуществленное «на лету», имеет отношение к проекту, а не к отдельным слоям. Это означает, что слой может иметь другую ССК, которая отличается от проектного, даже если вы видите его в правильном положении.

Вы сможете легко экспортировать слой с другим ССК.

  1. Добавьте набор данных buildings из training_data.gpkg.

  2. Кликните правой кнопкой мыши на слой buildings в панели Layers.

  3. Выберите Export ► Save Features As… в появившемся меню. Вы увидите диалоговое окно Save Vector Layer as….

  4. Кликни на кнопку Browse рядом с полем File name.

  5. Перейдите к exercise_data/ и укажите имя нового слоя как buildings_reprojected.shp.

  6. Измените значение CRS. В раскрывающемся меню появится только недавно использованные ССК. Кликните на кнопку setProjection Select projection рядом с раскрывающимся меню.

  7. Появится диалоговое окно Coordinate Reference System Selector. В поле Filter сделайте поиск 34S.

  8. Выберите WGS 84 / UTM zone 34S | EPSG:32734 из списка.

    ../../../_images/CRSselector.png
  9. Остальные параметры оставьте без изменений. Диалоговое окно Save Vector Layer as… выглядит теперь так:

    ../../../_images/save_vector_dialog.png
  10. Кликните на кнопку OK.

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

6.1.4. hard Идем дальше: Cоздаем собственную проекцию

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

  1. Запустите новую карту.

  2. Загрузите набор данных world/oceans.shp.

  3. Перейдите к Settings ► Custom Projections… и вы увидите это диалоговое окно.

    ../../../_images/custom_crs.png
  4. Кликните на кнопку signPlus Add new CRS для создания новой проекции.

  5. Есть интересная проекция для использования, которая называется Van der Grinten I. Введите ее название в Name.

    Эта проекция представляет Землю в круглом поле вместо прямоугольного как в большинстве других проекциях.

  6. В поле Format выберите WKT (Recommended).

  7. Добавьте следующую строку в поле Parameters field:

    PROJCRS["unknown",
        BASEGEOGCRS["unknown",
            DATUM["unknown",
                ELLIPSOID["unknown",6371000,0,
                    LENGTHUNIT["metre",1,
                        ID["EPSG",9001]]]],
            PRIMEM["Greenwich",0,
                ANGLEUNIT["degree",0.0174532925199433],
                ID["EPSG",8901]]],
        CONVERSION["unknown",
            METHOD["Van Der Grinten"],
            PARAMETER["Longitude of natural origin",0,
                ANGLEUNIT["degree",0.0174532925199433],
                ID["EPSG",8802]],
            PARAMETER["False easting",0,
                LENGTHUNIT["metre",1],
                ID["EPSG",8806]],
            PARAMETER["False northing",0,
                LENGTHUNIT["metre",1],
                ID["EPSG",8807]]],
        CS[Cartesian,2],
            AXIS["(E)",east,
                ORDER[1],
                LENGTHUNIT["metre",1,
                    ID["EPSG",9001]]],
            AXIS["(N)",north,
                ORDER[2],
                LENGTHUNIT["metre",1,
                    ID["EPSG",9001]]]]
    
    ../../../_images/new_crs_parameters.png
  8. Кликните на кнопку OK.

  9. Кликни на кнопку Текущая проекция projectionEnabled Current CRS справа от строки состояния для изменения проекта ССК.

  10. Выберите свою новую проекцию (сделайте поиск по названию в поле Filter).

  11. При применении этой проекции карта будет пере-проецирована следующим образом:

    ../../../_images/van_grinten_projection.png

6.1.5. В заключении

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

6.1.6. Дополнительные материалы для чтения

Материалы раздела Продвинутый Уровень этого урока были взяты из `этой статьи `_.

Ознакомиться дополнительной информацией о Справочной Системе Координат.

6.1.7. Что дальше?

В следующем уроке вы научитесь анализировать векторные данные с помощью различных инструментов векторного анализа QGIS.