Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Nechto Member Откуда: Сообщений: 829 |
Здравствуйте! Вопрос будет по работе с простраственными данными, а в частности с системе координат. В Базе данных имеется системный каталог с системами координат sys.spatial_reference_systems, который имеет свой набор по умолчанию. Добавлять или удалять данные из него ни как нельзя. На некоторых сайтах пишут что нужно создать свой каталог, я создаю: CREATE TABLE spatial_ref_sys ( srid INTEGER NOT NULL PRIMARY KEY, auth_name VARCHAR(256), auth_srid INTEGER, srtext VARCHAR(2048) ) Наполняю данную таблицу однотипными данными, но с разным srid, для проверки(эксперемента) INSERT INTO dbo.SPATIAL_REF_SYS (SRID, AUTH_NAME, AUTH_SRID, SRTEXT) VALUES (1, 'Home 1', 1, 'GEOGCS["Pulkovo 1942(83)", DATUM["Pulkovo 1942/83", ELLIPSOID["Krassowsky 1940", 6378245, 298.3]], PRIMEM["Greenwich", 0], UNIT["Degree", 0.0174532925199433]]'), (2, 'Home 2', 2, 'GEOGCS["Pulkovo 1942(83)", DATUM["Pulkovo 1942/83", ELLIPSOID["Krassowsky 1940", 6378245, 298.3]], PRIMEM["Greenwich", 0], UNIT["Degree", 0.0174532925199433]]') После проверяю на работу данного каталога declare @a geometry declare @b geometry SET @a = geometry::STPolyFromText('POLYGON((0.001 0.001, 5.001 0.001, 5.001 5.001, 0.001 5.001, 0.001 0.001))', 1) SET @b = geometry::STPolyFromText('POLYGON((2.001 2.001, 7.001 2.001, 7.001 7.001, 2.001 7.001, 2.001 2.001))', 2) SELECT @a.STIntersection(@b) В результате получаем NULL. Хотя по логике NULL не должен получиться поскольку системы координат в каталоги под srid (1 и 2) одинаковые. Может кто либо подскажет в чем причина??? |
30 дек 15, 20:37 [18629776] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |