Добавление новых систем координат, сфероидов, трансформаций в ArcGIS

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Эта страница опубликована в основном списке статей сайта
по адресу http://gis-lab.info/qa/newcs-ag.html


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

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

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

  • datum - датум
  • geogcs - географическая система координат
  • geogtran - набор параметров трансформации из определенной географической системы координат в WGS84
  • primem - главный меридиан
  • projcs - спроектированная (прямоугольная) система координат
  • spheroid - сфероид (эллипсоид)
  • unit - единица измерения

1. Создать переменную PEOBJEDITHOME равную пути к определенной папке, где будут храниться описания элементов, в начале данная папка будет пуста, например:

PEOBJEDITHOME = C:\Gis\arcexe9x\csparams\

2. В созданной папке необходимо создать описания нужных элементов описания системы координат. Названия файлов описаний и их содержание должны следовать строго определенной форме. Ошибка в содержании может привести к неработоспособности ArcGIS.

  • DATUM,code,"name",<spheroid_code>
  • GEOGTRAN,code,"name",<gcs1_code>,<gcs2_code>,<method_code>, <parameter_code1>,<parameter_value1>,..., <parameter_codeN>,<parameter_valueN>
  • PRIMEM,code,"name",<value>
  • GEOGCS,code,"name",<datum_code>,<primem_code>,<unit_code>
  • PROJCS,code,"name",<gcs_code>,<projection_code>, <parameter_code1>,<parameter_value1,..., <parameter_codeN>,<parameter_valueN>,<unit_code>
  • SPHEROID,code,"name",<semimajor axis>,<1/f>
  • UNIT,code,"name",<value>

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

  • Линейные единицы измерения 9000-9099 (209000-209099)
  • Угловые единицы измерения 9100-9199 (209100-209199)
  • Сфероиды 7000-7999 (207000-207999)
  • Датумы 6000-6999 (206000-206999)
  • Стандартные меридианы 8900-8999 (208900-208999)
  • Географические системы координат 4000-4999 (204000-204999)
  • Спроектированные системы координат 2000-2999 (202000-202999)
  • Наборы параметров трансформации 8000-8399 (208000-208399)

Таким образом, для новых описаний использовать значение стандартного кода для этого элемента + 200000. Например: для нового описания сфероида, зная что для уже существующих описаний рарезервирован диапазон 7000-7999 лучше использовать 207000-207999.

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

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

После определения новых элементов, первый вызов списка элементов в ArcGIS может занять значительное время.

Пример создания новой системы координат и комплекса преобразований NEWCS - WGS1984

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

1. Создать описание нового сфероида

/* SPHEROID,code,"name",<semimajor axis>,<1/f> */
SPHEROID,207001,"NEW",6378136,298.25784

2. Создать новый датум

Код сфероида - 207001 связывает созданный датум со сфероидом созданным на предыдущем этапе.

/* DATUM,code,"name",<spheroid_code> */
DATUM,206001,"D_NEW",207001

3. Создать новую систему координат и файл его описания

Код датума - 206001 связывает новую систему координат с новым датумом.

/* GEOGCS,code,"name",<datum_code>,<primem_code>,<unit_code> */ GEOGCS,204001,"NEWCS",206001,PE_PM_GREENWICH,PE_U_DEGREE

Отдельный файл описания географической системы координат (расширение файла - prj) включает определенные на предыдущих шагах описания датума и сфероида и понадобится для присвоения этой системы координат новым данным. Данный файл должен быть размещен в одной поддиректорий директории Coordinate Systems, находящейся в директории инсталляции ArcGIS. Например, месторасположение файла *.prj с описанием новой системы координат может быть таким:

c:\Gis\arcgis\Coordinate Systems\Geographic Coordinate Systems\Europe\new.prj
GEOGCS["NEWCS",DATUM["D_NEW",
SPHEROID["KRASOVSKY2",6378245,298.3]]
PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]

4. Создать набор параметров трансформации

Этот набор параметров должен, помимо нового кода для себя (208001), сослаться на код новой системы координат (204001), так как трансформация в данном примере осуществляется в WGS84, то вместо ее кода, можно использовать специальное название (макрос) для этой системы вместо кода - PE_GCS_WGS_1984. Далее, в зависимости от выбранного типа трансформации (в данном случае PE_MTH_COORDINATE_FRAME), также необходимо также определить все ее параметры.

/* GEOGTRAN,code,"name",<gcs1_code>,<gcs2_code>,<method_code>, <parameter_code1>,<parameter_value1>,..., <parameter_codeN>,<parameter_valueN> */ 
GEOGTRAN,208001,"NEWCS_To_WGS_1984",204001,"PE_GCS_WGS_1984",
"PE_MTH_COORDINATE_FRAME","PE_PAR_X_AXIS_TRANSLATION",-1.08,
"PE_PAR_Y_AXIS_TRANSLATION",-0.27,"PE_PAR_Z_AXIS_TRANSLATION",-0.9,
"PE_PAR_X_AXIS_ROTATION",0.0,"PE_PAR_Y_AXIS_ROTATION",0.0,
"PE_PAR_Z_AXIS_ROTATION",-0.16,"PE_PAR_SCALE_DIFFERENCE",-0.12

5. Проверить работоспособность

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

  • Загрузить ArcGIS и добавить тему, имеющую систему координат GCS_WGS_1984
  • Установить систему координат фрейма данных равную NewCS (View\Data Frame Properties\Coordinate System\Predefined)
  • После выбора системы координат, необходимо нажать на кнопку Transformations, если все перечисленные выше шаги сделаны правильно, ArcGIS автоматически найдет и предложит созданную трансформацию "NEWCS_To_WGS_1984" с настроенными параметрами.
Newcs-ag-01.gif

Ссылки по теме