Возможность хранить координаты в пространственных привязках с высокой точностью является новой возможностью в ArcGIS 9.2. По сравнению с низкой точностью, высокоточное хранение позволяет вам хранить координаты ближе друг к другу, расширяя тем самым x-, y-, z-, m-домены (область, которую вы можете хранить) определенного набора данных. Чтобы использовать с эффективностью эту функцию, в большинстве случаев рекомендуется конвертировать данные в набор с большей точностью. Однако вы сможете продолжать работу с пространственными привязками низкой точности в ArcGIS, как и всегда. Если вам необходимо предоставить данные клиентам, которые не произвели обновление, или вас устраивает текущая ситуация, то вы можете продолжать работать с пространственными привязками низкой точности.
В ArcGIS 9.2 и выше вы все еще можете создавать наборы данных низкой точности, используя базы геоданных версии до 9.2, которые еще не были обновлены. Если вы создадите новый класс пространственных объектов или набор классов объектов в этой базе геоданных или произведете в нее импорт данных, то эти новые данные будут иметь пространственную привязку низкой точности. Даже если вы обновили вашу базу геоданных версии до 9.2, существующие наборы классов объектов все равно будут иметь низкую точность, и так будет до тех пор, пока вы не обновите пространственные привязки. По этой причине вы можете создать новый класс пространственных объектов низкой точности в рамках существующего набора класса объектов низкой точности. Вы не сможете создать отдельный класс пространственных объектов или набор классов объектов низкой точности в любой новой базе геоданных, созданной в ArcGIS 9.2, или в любой другой базе геоданных, которая была обновлена до версии 9.2.
При определении пространственной привязки низкой точности вам нужно установить x,y-разрешение и домен. Большой экстент домена (domain extent) возможен только при использовании больших значений разрешения. В связи с этим значения, отражающие значения низкого разрешения, обуславливают появление небольших доменов, которые могут быть очень малы для многих систем координат проекций, например, для Универсальной поперечной Меркатора (UTM) или государственной системы координат США (state plane). Следовательно, при использовании пространственной привязки с низкой точностью вам необходимо балансировать между экстентом домена и разрешением.
В данном разделе приводится информация о том, как установить x,y-разрешение и домен для пространственной привязки низкой точности. В первом разделе дается объяснение понятия разрешения. Во втором разделе приводится сравнение различных подходов, используемых для расчета оптимальных значений разрешения для ваших данных.
О разрешении и домене x,y
База геоданных низкой точности хранит координаты в виде положительных 4-битовых целых значений, максимальное значение которых может составлять 2 147 483 647. Может показаться, что при использовании целых значений предел точности хранения данных составляет 1 фут или 1 метр, но это не так. Вы можете сами решать, какие единицы будут представлять ваши 4-битовые целые значения. Если вам необходимо работать с метровым разрешением, то вы будете работать с 2.14 миллиардами метров (приблизительно в 53 раза больше окружности земли). Вы также можете решить работать с сантиметровой точностью:в этом случае вы будете работать с 2.14 миллиардами сантиметров (примерно половина окружности земли). Значения разрешения представляют минимальное разрешенное расстояние между двумя значениями координат. Значения разрешений используются для конвертации десятичных значений в целые значения, хранимые в базе геоданных. База геоданных конвертирует их «на лету»:это позволяет вам работать только с десятичными значениями, даже если вы используете ArcObjects API самого низкого уровня.
В расположенной ниже таблице приводятся примеры значений минимального расстояния между координатами, единицами системы координат и эквиваленты их значений разрешения.
Минимальное расстояние между координатами | Разрешение | Единицы системы координат |
---|---|---|
1 сантиметр | 0.01 | Метры |
1 миллиметр | 0.001 | Метры |
2 сантиметра | 0.02 | Метры |
1 дюйм | 0.083333 | Футы |
На самом деле, конечно, база геоданных делает несколько больше для конвертации десятичных значений в целые. Десятичные значения координат также сдвигаются в течение конвертации. Вам необходимо учитывать этот сдвиг, если вы пересчитываете ваше разрешение и домен вручную.
Отношение между разрешением и x,y-доменом имеет прямо пропорциональный характер. Поскольку вы работаете с 2.14 миллиардами целых чисел, у домена имеется внешняя граница. Как только ваше разрешение станет меньше, экстент вашего домена также станет меньше. При попытке добавить объекты, расположенные за пределами домена, будет отображено следующее сообщение об ошибке: «Координаты или измерения находятся вне границ». Очень важно, чтобы вы не установили для вашего разрешения настолько маленькие значения, что потом не сможете добавить объекты для всей вашей рабочей области. Однако, работая примерно с 2.14 миллиардами целых чисел, вы в большинстве случаев сможете избежать этой проблемы, просто правильно выставив значения разрешения. Например, вы можете хранить весь мир с разрешением в 1 метр, но с разрешением в 1 сантиметр вы сможете хранить только половину мира. При работе с географическими системами координат, использующими десятичные градусы, например, NAD83, вы могли бы использовать разрешение в 1.9 сантиметра для всего мира в одном классе пространственных объектов.
Как установить разрешение и домен x,y
Перед определением x,y-разрешения и домена вы должны ответить на три вопроса:
- Будет ли предполагаемое разрешение поддерживать точность вашего сбора данных?
- Будет ли домен покрывать весь экстент вашей изучаемой области?
- Является ли разрешение достаточно большим для баз геоданных ArcSDE, чтобы минимизировать требования к месту на диске и максимально повысить производительность?
Вам не всегда будет нужно задумываться над этими вопросами. Довольно часто вы сможете решить эти проблемы с помощью стандартных настроек, производимых программным обеспечением. Ниже приводится описание трех разных подходов. Вам будет нужно выбрать один, который будет наиболее оптимальным в вашем случае.
A. Принять значения по умолчанию при импорте данных.
B. Определить домен и принять значение разрешения по умолчанию.
C. Определить и разрешение, и домен.
Подход A: принять значения по умолчанию при импорте данных
Этот подход является самым простым, потому что при импорте данных вам просто нужно принять рассчитанные значения разрешения и домена по умолчанию. Используйте этот подход, если
- У вас имеется по меньшей мере один векторный набор данных или группа объединенных в мозаику наборов данных, которые покрывают весь экстент вашей изучаемой области.
- Вы хотите установить для вашей изучаемой области самое маленькое значение разрешения.
Если у вас имеется набор данных, который покрывает вашу рабочую область целиком, то сначала импортируйте этот набор данных и примите значения по умолчанию для разрешения и домена. Значения по умолчанию позволят создать домен, который сможет включить в себя все объекты, и еще будет иметь небольшое пространство для расширения. Если у вас имеются наборы данных мозаики, которые вместе покрывают всю рабочую область, то вам будет нужно рассчитать домен, который сможет включить в себя все эти наборы данных.Используйте для этого инструмент Создать пространственную привязку (Create Spatial Reference). Затем создайте пустой класс пространственных объектов, используя этот домен, и загрузите в него данные мозаики.
При использовании данного подхода значение разрешения будет сведено к минимуму в рамках домена по умолчанию. Поскольку конечное разрешение могло бы быть маленьким, то это не лучший выход из ситуации, если вы хотите добиться оптимальной производительности при работе с базой геоданных ArcSDE. Однако при использовании данного подхода вы можете быть уверены в том, что все ваши данные будут помещены в рамках домена, и вы будете использовать для ваших данных максимально низкое значение разрешения.
После того, как вы создадите или импортируете в базу геоданных ряд наборов данных, вы будете использовать пространственную привязку, рассчитанную на основании этого исходного класса пространственных объектов. Вы сможете сделать это путем импорта пространственной привязки из этого класса пространственных объекта при создании класса пространственных объектов или набора классов объектов. Вы также сможете установить параметры среды геообработки для использования пространственной привязки из этого класса пространственных объектов, выполнив следующие действия:
- В ArcCatalog или ArcMap щелкните меню Геообработка (Geoprocessing) и там Параметры среды (Environments).
- Разверните Выходные координаты (Output Coordinates).
- Для выходных координат (Output Coordinates) нажмите Как указано ниже (As Specified Below).
- Рядом с текстовым полем щелкните на значке папки.
- На вкладке Система координат XY (Coordinate System) нажмите кнопку Импорт (Import).
- Перейдите к первому классу пространственных объектов, который вы импортировали в базу геоданных, и выберите его.
- Нажмите Добавить (Add).
- Нажимайте OK во всех открытых диалоговых окнах.
После того, как вы выполните эти действия, при выполнении всех последующих операций по геообработке, включая импорт новых данных, выполняемый текущим пользователем на этом компьютере, будет использоваться эта пространственная привязка.
Подход B: определить домен и принять значение разрешения по умолчанию
Данный подход поможет вам определить домен для вашей рабочей области, а затем максимально уменьшить разрешение в рамках вашей рабочей области. Используйте этот подход, если
- У вас нет одного набора векторных данных, который покрывал бы экстент вашей рабочей области, но вы можете определить вашу изучаемую область на карте.
- Вы хотите установить для вашей изучаемой области самое маленькое значение разрешения.
Результаты использования этого подхода будут точно такими же, как и при использовании подхода A; следовательно, у него такие же достоинства и недостатки. До того, как вы сможете начать, вы должны знать систему координат, которую вы собираетесь использовать. Более подробную информацию о выборе системы координат см. раздел «Картографические проекции» в Справке ArcGIS Desktop. Если вы собираетесь использовать государственную систему координат США (state plane) или UTM, то вы можете найти данные, определяющие расположение зон в папке <папка установки ArcGIS >\ArcGIS\Reference Systems в шейп-файлах usstpln83 и utm.
Сперва вам необходимо определить домен вашей рабочей области:
- Запустите ArcMap и добавьте опорные данные для всего мира или для вашей рабочей области. Вам следует искать опорные данные в следующих местах:
- ESRI Data & Maps CD-ROM (поставляемые вместе с ArcGIS)
- <папка установки ArcGIS >\ArcGIS\Metadata\Data
- Географическая сеть (Geography Network)
- Установите в качестве системы координат фрейма данных ту систему, которую вы хотите использовать для нового набора данных.
a. Откройте диалоговое окно Фрейм данных Свойства (Data Frame Properties).
b. Щелкните на вкладке Системы координат (Coordinate System).
c. Откройте папку Предопределенные (Predefined) и укажите систему координат, которую вы хотите использовать.
d. Нажмите OK.
- Приблизьтесь к той части мира, которую вы хотите использовать в качестве рабочей области.
- Используйте инструмент Новый прямоугольник (New Rectangle) на панели инструментов Рисование (Draw), чтобы нарисовать прямоугольник, определяющий вашу новую рабочую область на карте.
- Щелкните правой кнопкой мыши на этом прямоугольнике и щелкните Свойства (Properties).
- Щелкните на вкладке Размер и положение (Size and Position).
- В разделе Точка якоря (Position for Anchor Point) щелкните на левом нижнем квадратике.
- Скопируйте и вставьте координаты полей X и Y в текстовый файл. Удалите букву единицы измерений в конце строчки с координатами. Это будут координаты левого нижнего угла вашей изучаемой области.
- В разделе Точка якоря (Position for Anchor Point) щелкните на правом верхнем квадратике.
- Скопируйте и вставьте координаты полей X и Y в текстовый файл. Удалите букву единицы измерений в конце строчки с координатами. Это будут координаты правого верхнего угла вашей изучаемой области.
Теперь используйте этот домен при создании нового класса пространственных объектов:
- В дереве Каталога перейдите к вашей базе геоданных 9.2 или выше, щелкните на ней правой кнопкой мыши, укажите Новый (New), затем щелкните Класс пространственных объектов (Feature Class).
- В поле имя введите соответствующее имя, например, StudyArea.
- Выберите тип объектов и укажите, будут ли поддерживаться z- или m-значения.
- Выберите или импортируйте вашу систему координат.
- Щёлкните на Далее (Next).
- Скопируйте и вставьте ваши координаты из текстового файла в соответствующие текстовые области. Заметьте, что значение разрешение будет «отрегулировано», как только вы измените параметры домена.
- Щёлкните на Далее (Next).
- Добавьте необходимые поля для класса пространственных объектов.
- Нажмите Готово (Finish) в мастере Новый класс пространственных объектов (New Feature Class).
Теперь вы сможете импортировать пространственную привязку из класса пространственных объектов StudyArea для всех ваших данных, которые вы будете создавать в этой рабочей области. Вы также можете установить необходимые параметры среды геообработки, чтобы все новые данные, создаваемые в результате выполнения операций геообработки, использовали эту пространственную привязку. См. подход A для получения информации о том, как установить параметры среды геообработки для использования пространственной привязки из класса пространственных объектов.
Подход C: определить и разрешение, и домен
При использовании данного подхода вы можете вычислить разрешение и домен вручную. Используйте данный подход, если вы хотите добиться максимальной производительности при работе с данными низкой точности в базе геоданных ArcSDE.
Шаг 1: рассчитайте разрешение.
Сперва вы должны рассчитать соответствующее разрешение. Установите для разрешения значение, которое будет в 10 раз меньше, чем самое высокое значение точности сбора данных. Это обеспечит то, что точность вашего сбора данных будет поддерживаться в базе геоданных независимо от того, какие операции с данными вы будете производить в ArcGIS (геообработка, кластерный допуск для топологии, геометрические операции и так далее). Изучите следующее:
Способ сбора данных | Единицы системы координат | Точность оборудования | Рекомендуемое разрешение |
---|---|---|---|
Оцифровка карты масштаба 1:250,000 | Футы | +/-416 футов | 1 фут |
Профессиональные GPS-приемники | Метры | +/-0.5 метра | 0,05 метра |
Теодолитная съемка | Метры | +/- 5 миллиметра | 0.0005 метра |
Произвести расчет разрешения на основании данных, которые используют географическую систему координат (GCS), будет несколько труднее по причине того, что угловые единицы (градусы) на всей площади планеты будут различаться. По мере изменения широты, каждый градус долготы будет представлять различную длину на местности. Если вы хотите произвести расчет разрешения, используя линейные единицы, для данных, хранимых в GCS, вам будет нужно произвести целый ряд вычислений. Если вы будете рассчитывать оптимальное значение разрешения для той территории, где ваши угловые единицы будут иметь самые большие значения, то вы сможете поддерживать еще более высокую точность в тех районах, где угловые единицы будут представлять меньшее расстояние на местности. Например, если вы поддерживаете точность в 1 метр там, где 1 градус соответствует 100 милям на местности, то ваша база геоданных будет поддерживать разрешение в 1 сантиметр там, где 1 градус соответствует 1 миле на местности. В географической системе координат угловые единицы соответствуют самым большим расстояниям на местности на экваторе. Значение разрешения будет представлять собой величину, обратную от величины линейной длины на местности 1 градуса на экваторе. Как было отмечено выше, значение разрешения должно быть поделено на 10 для последующих вычислений в операциях обработки ArcGIS. Вы можете использовать следующие уравнения:
Resolution = 360 / GCS equatorial circumference / 10
Например, у GCS_WGS_1984 длина окружности составляет 40075016.7 метров. Таким образом,
Precision = 360 * 40075016.7 / 10 = 8.9831528 x 10-7
Вы также можете умножить длину большой полуоси GCS на число радиан в единице, что будет равно
Resolution = 1 / (Semimajor axis * 2π/ 360 * 10)
Вы можете найти значения этих технических параметров вашей GCS, открыв диалоговое окно свойств в дереве Каталога. Если вы не видите папку Coordinate Systems в дереве ArcCatalog, то вы можете сделать видимыми системы координат на вкладке Общие (General) диалогового окна Опции (Options) в ArcCatalog.
Шаг 2: проверьте значение разрешения вашей рабочей области.
Чтобы проверить, что ваше разрешение будет работать для заданной рабочей области, поделите самое большое значение ширины или высоты (range) вашей рабочей области на значение разрешения. Если полученный результат будет составлять менее 2,147,483,647, то ваши данные смогут быть «вписаны» в рамках домена с выбранным разрешением.
Несмотря на то, что ваши данные смогут быть «вписаны» в рамках домена, значения ваших координат могут располагаться за пределами границы системы координат. Рассмотрим ситуацию с использованием воображаемых наборов данных в проекте, где единицами карты являются метры.
При делении диапазона в 800,000 (ширина) на разрешение в 0.0001, будет получено 800,000,000, что составляет менее 2.14 миллиарда; следовательно, данные смогут быть вписаны в домен. Однако, верхний правый угол области работы будет 1,000,000,000x, 4,060,000,000y (то есть [1,000,000x] / 0.0001 и [4,060,000y] / 0.0001). Заметьте, что y-значение расположено за пределами диапазона от 0 до 2.14 миллиарда на расстоянии примерно в 1.9 миллиарда единиц. Для хранения этих координат в рамках базы геоданных вы должны расширить домен для включения в него близко расположенных данных.
Шаг 3: рассчитайте соответствующие минимальные значения x,y.
Перед тем, как вы сможете расширить домен для включения близко расположенных данных, вы должны указать центр вашего домена в единицах карты. Это делается для того, чтобы поместить ваши данные в центр домена; таким образом ваши данные могли бы быть расширены при необходимости во всех направлениях. Все расчеты для смещения системы координат производятся в единицах системы координат.
Сперва вам необходимо найти численное значение центра домена, записанное в целом виде:
2,147,483,647 / 2 = 1,073,741,823
Затем произведите конвертацию значения центра домена в единицы системы координат путем его умножения на разрешение. В данном примере используется разрешение, равное 0,001:
1,073,741,823 * 0.001 = 1,073,741.823
После того, как вы определили центр домена в единицах системы координат, вам необходимо произвести расчет новых минимальных значений x и y для вашего домена. Формула для расчета минимальных значений x и y вашего домена приводится ниже:
Min X = ([DataMinX + DataMaxX] / 2)—Domain center in coordinate system units
Min Y = ([DataMinY + DataMaxY] / 2)—Domain center in coordinate system units
При решении данного уравнения будут найдены минимальные значения координат вашего домена для помещения центра ваших данных в центр домена. Помните о том, что все эти расчеты производятся в единицах системы координат. Рассмотрите данное уравнение для x-измерения, заданного в примерах данных.
Сперва найдем центр ваших данных:
(DataMinX + DataMaxX) / 2
(200,000 + 1,000,000) / 2 = 600,000
Затем найдите разницу между значениями центра ваших данных и центра пространства базы геоданных:
Min X = 600,000 - 1,073,741.824 = -473,741.824
Поскольку это будет отрицательное число, то домен будет смещен влево. Помните о том, что смещение коснется только домена, но не самих данных. Это смещение рассчитывается для обоих измерений, так что вам будет нужно повторить эти операции и для y-координаты. Если вы будете пытаться добиться максимальной производительности в базе геоданных ArcSDE, то не центрируйте домен. Вместо этого установите минимальные значения домена, которые будут максимально близко данным.
Шаг 4: создайте набор данных.
Как только вы произведете расчет разрешения и минимальных x- и y-значений, вы будете готовы создать набор классов объектов или отдельный класс пространственных объектов. При первом создании одного из них с помощью мастера Новый класс пространственных объектов (New Feature Class) или Новый набор классов объектов (New Feature Dataset), снимите выделение опции Принять значение разрешения по умолчанию (Accept default resolution) и экстент домена (domain extent) и введите значения разрешения и минимальные x- и y-значения, которые вы вычислили. Максимальные x- и y-значения будут рассчитаны автоматически. После этого вы можете просто импортировать данную пространственную привязку для всех последующих наборов данных, которые вы будете импортировать или создавать. Вы также можете установить необходимые параметры среды геообработки, чтобы все новые данные, создаваемые в результате выполнения операций геообработки, использовали эту пространственную привязку. См. подход A для получения информации о том, как установить параметры среды геообработки для использования пространственной привязки из класса пространственных объектов.
Указание разрешения и домена для z и m
Произвести расчет z- и m-доменов гораздо проще, чем x,y-доменов. Изучите ваши данные и введите самое маленькое число в качестве минимального значения и разрешение для поддержки его точности. Вы можете рассчитать z- и m-разрешение точно так же, как вы рассчитали точность для x,y-координат. Как и для x,y-координат, у вас имеется 2,147,483,647 целых чисел, с которыми вы можете работать. Как правило, описывать центр z- и m-доменов вокруг ваших данных не обязательно, поскольку вы можете установить абсолютный минимум на основании ваших данных.
При расчете минимального значения для z-домена вы бы могли использовать самую глубокую точку на Земле (-11,033 метров — Марианская впадина). Как правило, m-координаты (measure) являются положительными числами, так что минимальное значение, равное 0, будет оптимальным. Вы также можете установить минимальное значение m-домена, чтобы иметь небольшое смещение ниже нуля для обработки отрицательных чисел, которые могли бы быть получены путем экстраполяции измерений в ходе выполнения таких операций, как, например, Калибровать (Calibrate). Вы могли бы исправить эти отрицательные значения позднее, вместо того, чтобы запрещать их вывод в течение экстраполяции.