Создание пространственной привязки с помощью SQL
Esri рекомендует создавать пространственные привязки с помощью инструментов ArcGIS for Desktop при создании классов объектов. ArcGIS предоставляет полный набор инструментов для этой задачи, а также вычисляет x-, y-, z-, и m-единицы и смещения, чтобы вы могли сохранить данные c высокой точностью. Однако Esri понимает, что некоторые пользователи и разработчики приложений хотят иметь различные доступные опции при создании пространственных привязок. В данном разделе представлены примеры использования SQL при создании пространственных привязок.
Система пространственной привязки присваивается геометрии в процессе ее создания. Система пространственной привязки должна присутствовать в таблице spatial_reference. Вся геометрия в столбце должна иметь одинаковую пространственную привязку.
Создание пространственной привязки в IBM DB2
В DB2 командой для создания пространственной привязки является db2se create_srs (или вызовите встроенную процедуру db2se.ST_create_srs). Следующий пример создает запись пространственной привязки с коэффициентом масштаба 10 и использованием определенной системы координат:
db2se create_srs mydb -srsName \"mysrs\"
-srsID 310000 -xScale 10 -coordsysName \"GCS_North_American_1983\"
Для получения дополнительной информации об использовании этой команды, изучите секцию "Создание системы пространственной привязки" в руководстве пользователя DB2 Spatial Extender and Geodetic Extender User's Guide and Reference.
Создание пространственной привязки в IBM Informix
Пользователи Informix могут создавать запись пространственной привязки, используя выражение INSERT, как показано в примере ниже:
INSERT INTO SDE.SPATIAL_REFERENCES (srid, description,
auth_name, auth_srid, falsex, falsey, xyunits, falsez,
zunits, falsem, munits, srtext, object_flags,
xycluster_tol, zcluster_tol, mcluster_tol)
VALUES (
310000,
'GCS_North_American_1983',
NULL,
NULL,
-400,
-400,
1000000000,
-100000,
100000,
-100000,
10000,
'GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]',
1,
0,
0,
0);
Для дополнительной информации о создании пространственной привязки в Informix, обратитесь к секции "Использование таблицы пространственной привязки" в руководстве пользователя IBM Informix Spatial DataBlade Module User's Guide.
Создание пространственной привязки в Oracle
Создание пространственной привязки для таблиц с пространственным типом в Oracle происходит с использованием выражения INSERT, как показано ниже. Убедитесь, что вы заменили значение SRID на уникальное значение. В следующем примере, значение SRID равно 1 в третьей строке кода.
INSERT INTO SDE.ST_SPATIAL_REFERENCES (SR_NAME, SRID,
X_OFFSET, Y_OFFSET, XYUNITS, Z_OFFSET, Z_SCALE, M_OFFSET,
M_SCALE, MIN_X, MAX_X, MIN_Y, MAX_Y, MIN_Z, MAX_Z, MIN_M,
MAX_M, CS_ID, CS_NAME, CS_TYPE, ORGANIZATION,
ORG_COORDSYS_ID, DEFINITION, DESCRIPTION)
VALUES (
'GCS_North_American_1983',
310000,
-400,
-400,
1000000000,
-100000,
100000,
-100000,
100000,
9.999E35,
-9.999E35,
9.999E35,
-9.999E35,
9.999E35,
-9.999E35,
9.999E35,
-9.999E35,
4269,
'GCS_North_American_1983',
'PROJECTED',
NULL,
NULL,
'GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]',
'ArcSDE SpRef');
Создание пространственной привязки в PostgreSQL
Для создания системы пространственной привязки для пространственного типа в PostgreSQL, используйте выражение INSERT, как показано ниже. Убедитесь, что вы заменили значение SRID на уникальное значение. В следующем примере, значение SRID равно 1 в третьей строке кода.
INSERT INTO sde.st_spatial_references (sr_name, srid,
x_offset, y_offset, xyunits, z_offset, z_scale, m_offset,
m_scale, min_x, max_x, min_y, max_y, min_z, max_z, min_m,
max_m, cs_id, cs_name, cs_type, organization,
org_coordsys_id, definition, description)
VALUES (
'GCS_North_American_1983',
310000,
-400,
-400,
1000000000,
-100000,
100000,
-100000,
100000,
9.999E35,
-9.999E35,
9.999E35,
-9.999E35,
9.999E35,
-9.999E35,
9.999E35,
-9.999E35,
4269,
'GCS_North_American_1983',
'PROJECTED',
NULL,
NULL,
'GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]',
'ArcSDE SpRef');