Oracle Spatial

0 голосов
спросил 02 Март, 07 от Kovalenko (1,020 баллов) в категории Программные продукты Esri

Существует возможность вкладывать данные в базу SDE напрямую, используя Oracle spatial, если сама база использует этот тип данных для хранения геометрии? И если да то как можно получать последний оид?

15 Ответы

0 голосов
ответил 02 Март, 07 от odb2007 (1,720 баллов)
Что значит напрямую в базу SDE? Если имеется ввиду запись минуя SDE
сразу в Oracle Spatial, то думаю вряд ли ESRI-шные клиенты смогут это
делать, иначе зачем вообще SDE.
0 голосов
ответил 02 Март, 07 от Grigoriy (127,020 баллов)
Вы можете выбрать схему хранения в Oracle Spatial - читайте ArcSDE_Config_GD_Oracle.pdf. При этом клиенты ESRI будут обращатся к данным через SDE. Другие клиенты могут обращаться к данным напрямую к Oracle Spatial. Естественно, всё будет работать при соблюдении определенных требований.
0 голосов
ответил 03 Март, 07 от Kovalenko (1,020 баллов)
А можно подробнее про условия. И могут другие клиенты укладывать данные в SDE через Oracle Spatial?
0 голосов
ответил 03 Март, 07 от Grigoriy (127,020 баллов)
Могут. Но Вы для себя должны решить кто и что редактирует в базе. Другие клиенты ничего не знают про базу геоданных и отношения между объектами в ней. Если у Вас простые объекты - точки, линии, полигоны, то можно с такими данными работать и в ArcGIS и в других клиентах. При условии, что другие клиенты умеют правильно сохранять эту элементарную геометрию.
0 голосов
ответил 03 Март, 07 от Kovalenko (1,020 баллов)

Так вот выходит такая ситуация, сдтоит СДЕ под 10 оракле. Данные через оракл специял добавлять выходит, получить геомтрию объекта тоже выходит, но если загрузить этот фиче класс в аркмап запись в таблице видна но на карте не отображается. Что может быть, как коректно через оракле спешл добавлять данные в фичекласс сде?

0 голосов
ответил 05 Март, 07 от Grigoriy (127,020 баллов)
Сначала сконфигурировать Oracle Spatial+SDE - читайте ArcSDE_Config_GD_Oracle.pdf. Нужно добиться, чтобы работал ArcGIS с такой схемой хранения - загружал данные, смотрел их и т.д. Тогда Вам будут понятны требования и ограничения на геометрию, которую Вы сможете добавлять вне ArcGIS. ArcGIS не сможет отображать не замкнутые полигоны например и т.д.
0 голосов
ответил 06 Март, 07 от Kovalenko (1,020 баллов)
так это уже сделано, oracle сконфигурирован правильно, но даже простой квадрат при добавлении через oracle spatial не отображается. Например при добавлении объекта, через oracle spatial, sde должен отвечать за присвоение idobject, считать площадь и т.д., а он этого не делает, что может быть не так?
0 голосов
ответил 07 Март, 07 от igorstr (6,660 баллов)

почитал, не въезжаю - какой клиент загружает данные в базу? Если грузит не arcgis - с какого перепуга "sde должен отвечать за присвоение idobject, считать площадь и т.д."? Максимум, что sde сможет и должен сделать - зарегистрировать этот загружаемый или вновь создаваемый класс объектов у себя в служебных табличках, и то, если мы это сделаем ручками (sdelayer -o register) или если стоит флаг авторегистрации в табличке sde.server_config.

Если данные грузятся, например, из Easy Loader в Oracle Spatial, то за подсчет площадей отвечают эти двое.
Идентификатор SDE'шный объектам будет присвоен, если кроме той регистрации, про которую я уже написал, надо еще зарегистрировать класс объектов в БГД (по правой кнопке в ArcCatalog).
Если объекты кто-то загрузил в Oracle Spati, а они в ArcGIS не отображаются, значит, они "кривые". Обычно это происходит именно с полигонами. ArcGIS не отображает полигоны с самопересечением границ (пример - восьмерка без отрыва руки от листа, если нарисовать ее же как лифчик - все работает нормально) и полигоны с нарушенным направлением обхода контура (внешняя граница рисуется против часовой стрелки, "внутренность полигона - всегда справа"). Причем, наткнувшись на первый попавшийся "кривой" объект, остальные не отображает :(
0 голосов
ответил 07 Март, 07 от Kovalenko (1,020 баллов)
Вопрос в том, что было сказано, если использовать в сде модель хранения оракле спатиал, то можно создавать объекты средствами самого оракла. Т.Е. создаем полигон и обычним инсертом добавляем запись к существующему фиче классу. Следовательно сам СДЕ должен присвоить IDOBJECT, или он не устанавливает своих тригеров? Тогда не понятно почему выше было сказанно, что можно добавлять объекты напрямю. По идеи в базе главный механихм самого Оракла, следовательно должен существовать способ добавлять записи не используя механизм СДЕ.
0 голосов
ответил 07 Март, 07 от Grigoriy (127,020 баллов)
Начните с точек image
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...