Esri рекомендует создавать пространственные привязки с помощью инструментов ArcGIS Desktop при создании классов объектов. ArcGIS предлагает полный набор инструментов для этой задачи и способен вычислять x-, y-, z- и m-единицы и сдвиги для обеспечения высокой точности данных. Однако в Esri понимают, что некоторые пользователи и разработчики приложений хотят иметь разные способы для создания пространственных привязок. Примеры использования SQL для создания пространственных привязок приведены ниже.
Система пространственной привязки присваивается геометрии в процессе ее создания. Система пространственной привязки должна присутствовать в таблице пространственных привязок. Вся геометрия в столбце должна иметь одинаковую пространственную привязку.
Создание пространственной привязки в 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\"
Убедитесь, что srsID (310000) заменен уникальным значением. Дополнительные сведения об использовании этой команды см. в IBM Knowledge Center.
Создание пространственной привязки в IBM Informix
Пользователи Informix могут создавать запись пространственной привязки в таблице spatial_references, используя выражение INSERT, сходное с показанным в следующем примере. Убедитесь, что SRID (310000) заменен уникальным значением.
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 Knowledge Center.
Создание пространственной привязки в Oracle
Создание пространственной привязки для таблиц с использованием пространственного типа в Oracle выполняется с помощью выражения INSERT, как на примере ниже. Функция ST_Geometry заменит значение NULL SRID уникальным значением.
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',
NULL,
-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]]',
'Custom SpRef'
);
Создание пространственной привязки в PostgreSQL
Чтобы создать систему пространственной привязки для пространственного типа в PostgreSQL, используйте выражение INSERT, сходное с показанным ниже. Убедитесь, что SRID (310000) заменен уникальным значением.
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]]',
'Custom SpRef'
);
Создание пространственной привязки в SQLite
Используйте выражение INSERT, сходное с показанным в следующем примере, для добавления пространственной привязки в таблицу st_aux_spatial_reference_systems в базе данных SQLite, использующей ST_Geometry. Убедитесь, что SRID (310000) заменен уникальным значением.
INSERT INTO st_aux_spatial_reference_systems (srid, auth_name, auth_srid,
sr_text, falsex, falsey, xyunits, falsez, zunits, falsem,
munits, xycluster_tol, zcluster_tol, mcluster_tol)
VALUES (
310000,
NULL,
4269,
'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]]',
-400,
-400,
1000000000,
-100000,
1.0,
-100000,
1.0,
0,
0,
0
);