Создание пространственной привязки с помощью SQL

Esri рекомендует создавать пространственные привязки с помощью инструментов ArcGIS for 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\"

Для получения более подробной информации по использованию этой команды, см. раздел "Creating a spatial reference system" в руководстве IBM DB2 Spatial Extender and Geodetic Extender User's Guide and Reference.

Создание пространственной привязки в IBM Informix

Пользователи Informix могут создавать запись пространственной привязки в таблице spatial_references, используя выражение INSERT, сходное с показанным в следующем примере. Убедитесь, что SRID заменен уникальным значением.

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, см. раздел "Using the spatial references table" в руководстве IBM Informix Spatial DataBlade Module User's Guide.

Создание пространственной привязки в Oracle

Создание пространственной привязки для таблиц с использованием пространственного типа в Oracle выполняется с помощью выражения INSERT, как на примере ниже. Убедитесь, что 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', 
 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 заменен уникальным значением.

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'
);

Создание пространственной привязки в SQLite

Используйте выражение INSERT, сходное с показанным в следующем примере, для добавления пространственной привязки в таблицу st_aux_spatial_reference_systems в базе данных SQLite, использующей ST_Geometry. Убедитесь, что SRID заменен уникальным значением.

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 
);

Связанные темы

5/25/2014