БГД созданой в Oracle => ArcSDE\ArcServer = КАК?

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Ответить
Methuselah
Интересующийся
Сообщения: 15
Зарегистрирован: 09 июн 2009, 11:08
Репутация: 0

БГД созданой в Oracle => ArcSDE\ArcServer = КАК?

Сообщение Methuselah » 27 авг 2010, 14:16

Здравствуйте!

Есть база геоданных созданных на Oracle. Все данные там хранятся в своем формате (судя по всему в SDO-Geometry). Есть свежеустановленный ArcGIS (ArcSDE+ArcServer+ArcDesktop). SDE нормально пристыковался к Oracle, с этим проблем нет. Ну а Server к SDE.
Включаю ArcCatalog, коннекчусь к уже имеющейся оракловской базе - он видит содержимое ее, но читать отказывается. Видимо из-за разного типа хранения данных.

Вопрос такой - как мне хранимые файлы в БГД Оракла импортировать в АркСДЕ базу созданную на том самом Оракле?

Буду ОЧЕНЬ благодарен и признателен если кто-нибудь в курсе решения данной проблемы :!:

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: БГД созданой в Oracle => ArcSDE\ArcServer = КАК?

Сообщение Дмитрий Барышников » 27 авг 2010, 14:39

Посмотрите в сторону configuration keywords
http://webhelp.esri.com/arcgisdesktop/9 ... n_keywords
http://webhelp.esri.com/arcgisdesktop/9 ... TS_keyword
Особенно GEOMETRY_STORAGE

Methuselah
Интересующийся
Сообщения: 15
Зарегистрирован: 09 июн 2009, 11:08
Репутация: 0

Re: БГД созданой в Oracle => ArcSDE\ArcServer = КАК?

Сообщение Methuselah » 27 авг 2010, 14:53

Спасибо за ответ! Вы имеете ввиду переписать файл dbtune?! Я не знаком с ораклом - увидел его впервые вчера. Просто стоит такое задание. Был бы благодарен за более развернутый ответ.

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: БГД созданой в Oracle => ArcSDE\ArcServer = КАК?

Сообщение Дмитрий Барышников » 27 авг 2010, 15:42

dbtune это таблица такая. А для изменения ключевых слов надо
Starting at ArcSDE 9.2, if you want to change the value of a parameter that already exists in the DBTUNE table, use the alter operation.
sdedbtune –o alter –k <configuration keyword>
–P <parameter_name> –v <configuration_string_value>
[–i <service>] [–D <database>] –u <user_name>
[–p <password>] [–N] [–q]
см. подробности здесь http://webhelp.esri.com/arcgisdesktop/9 ... TUNE_table
During the installation of ArcSDE on Windows, the ArcSDE installation allows you to choose the default spatial storage type. Depending on your selection, ArcSDE will load the DBTUNE table with the contents of one of three files: dbtune.lr, dbtune.blob, or dbtune.gt.
Вот выдержка - а что вы указали для хранения геометрии?

P.S. Я с ораклом не работал, только с MS SQL и PosgreSQL, поэтому и даю наводку что можно попробовать сделать. А полное решение вам придется искать самому.

Methuselah
Интересующийся
Сообщения: 15
Зарегистрирован: 09 июн 2009, 11:08
Репутация: 0

Re: БГД созданой в Oracle => ArcSDE\ArcServer = КАК?

Сообщение Methuselah » 27 авг 2010, 16:10

Да, вот как раз про дбтюнз я немного знаю из мануала, который мне дали. Изначально в дефолтах стоял параметр ST_GEOMETRY (хоть такового пункта в данной таблице я не нашел), сейчас поменял его на SDO_GEOMETRY - результат аналогичный. Вообще, база мне досталась, поэтому в какой формат изначально что конвертилось я сказать не могу а посмотреть не хватает опыта и компетенции. В целом все читается из оракла в оракле а из СДЕ то, что в СДЕ. Но друг друга они не видят. При попытке прямого открытия базы или ее экспорта в ArcCatalog'е, оный ругается на Abstract Data Types not supported [имя таблицы][STATE_ID=0] и пишет это от одного до нескольких раз (судя по всему это количество зависит от количества столбцов содержащих пространственные данные).

Интернет пестрит темами про sde2shp+sdhp2sdo конверторами и прочими операциями в ТУ сторону.. К сожалению в обратную сторону (из оракловой в сервер\сде) я не нашел решения и решил обратиться на форум. :cry:

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: БГД созданой в Oracle => ArcSDE\ArcServer = КАК?

Сообщение Дмитрий Барышников » 27 авг 2010, 16:29

Правильно ли я понимаю что у вас сначала был оракл спатиал. Потом поставили ArcSDE и теперь хотите чтобы он увидел пространственные таблицы оракла? Если так, то я думаю что это номер не пройдет. Надо либо через Interoperability подключаться к ораклу и гнать его таблицы в SDE либо вытаскивать из оракла таблицы чем ни будь (GDAL, QGIS и т.п.) в шейп-фалы, а потом грузить в SDE.

Methuselah
Интересующийся
Сообщения: 15
Зарегистрирован: 09 июн 2009, 11:08
Репутация: 0

Re: БГД созданой в Oracle => ArcSDE\ArcServer = КАК?

Сообщение Methuselah » 27 авг 2010, 18:44

Да, Вы правильно понимаете - сначала был оракл и стояла ГИС от Бентли. С помощью последней были загружены шейпы. А теперь есть база с ораклом и в ней уже не шейпы, а старых шейпов нет. И эту базу надо сделать читабельной для СДЕ.
С КуГИСом работал - понравилось. Но задача стоит почти строго - решить этотвопрос только ораклом+аркгисом. Я уж даже запросы писал - подгонял под вариант загруженного в СДЕ шейпа. Не помогло.

А что там насчет Интероперабилити? С этим модулем тесно не общался. Способен ли он это сделать и как?

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: БГД созданой в Oracle => ArcSDE\ArcServer = КАК?

Сообщение Дмитрий Барышников » 29 авг 2010, 21:24

C interoperabilit я только с PostGIS работал. Все нормально видел. Поддержку форматов см. http://www.esri.com/library/fliers/pdfs ... ormats.pdf
Вам по любому или выгружать или экспортировать в SDE придется. Причем для SDE рекомендую использовать отдельную базу данных, а после экспорта старую удалить.

Methuselah
Интересующийся
Сообщения: 15
Зарегистрирован: 09 июн 2009, 11:08
Репутация: 0

Re: БГД созданой в Oracle => ArcSDE\ArcServer = КАК?

Сообщение Methuselah » 31 авг 2010, 10:05

Еще раз здравствуйте!

Хотелось бы внести некоторые уточнения.
Первое и самое главное - ArcGIS у нас 10-ой версии. И насколько я успел убедиться - она пока сырая и глючная. Второе - ключ лицензии на Интероперабилити у нас есть, он был введен, но функции оного (быстрый экспорт/импорт) просто напросто не работают (пишут, что недоступны).
Третье - главной задачей является создать кроссгисовский (если можно так выразиться) банк геоданных. Т.е. - есть БГД под Оракл и на нее может зайти и с Бентли и с АркГИСа пользователь и спокойно видеть и размещать у себя в проекте данные. (Под Бентли естественно ПОКА никаких проблем нет, т.к. база размещалась именно через него).
Четвертое - да, действительно, мне разрешили создать и использовать БД через СДЕ. Только файлы туда надо импортировать (или сделать так чтобы они были видны и работоспособны - что гораздо лучше) из уже созданной БГД, а не с помощью приятных и готовых употреблению шейпов.
Пятое - АркКаталог "обзывает" ранее созданные данные Abstract Data Type.

Который день бьюсь над этой проблемой, пытаясь достигнуть желаемого. Вчера нашел скрипт, которым пользовались при создании оракловской базы. Это конвертер шейпов в оракл. Узнал также, что Бентли у нас хранит геоданные с шапкой ID_OBJ и GEOM (в СДЕ - OBJECTID и SHAPE). Переименовал шапки из Оракла - не помогло. Воспользовался имеющимся скриптом - залил шейп, еще раз. Есть возможность сразу указать проекцию при импорте в базу данных. С ней и без нее - не работает. Последним пунктом, до которого я дошел - приписать primary key и geoindex (с указанием типа объекта - точка, линия, полигон) к хранимому в оракле шейпу. Последняя операция возымела результат - один точечный шейп начал распознаваться в АркКаталоге. Но на этом успехи закончились - линии и полигоны отказываются конвертироваться, остальные точечные файлы тоже.

Простите за сумбурное изложение мыслей. Больше ничего не приходит на ум. Понимаю, что проблема нестандартная и решения может и не быть, но все же надеюсь на Вашу помощь.

PS: при желании могу написать сюда скрипт, запросы по присоединению первичного ключа и "ругань" Каталога.

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: БГД созданой в Oracle => ArcSDE\ArcServer = КАК?

Сообщение Дмитрий Барышников » 31 авг 2010, 11:09

Все же хотелось понять, что вы хотите. Если, как вы выразились "кроссгисовский банк геоданных", то я такое делал, но с PostGIS. Т.е. данные были видны и через ArcGIS и через QGIS. А вот Бентли, - это вопрос. И вопрос этот решается не штатными средствами ArcGIS уж точно. Как минимум хранить геометрию надо в одинаковом виде (например, WKT/WKB), а правильнее - писать программную надстройку.
Methuselah писал(а):Под Бентли естественно ПОКА никаких проблем нет, т.к. база размещалась именно через него.
А знаете ли вы, что если все сделать в ArcGIS то ArcMap будет видеть данные и редактировать их, а Бентли нет. Почему вы тяните именно ArcGIS под Бентли а не наоборот?

Methuselah
Интересующийся
Сообщения: 15
Зарегистрирован: 09 июн 2009, 11:08
Репутация: 0

Re: БГД созданой в Oracle => ArcSDE\ArcServer = КАК?

Сообщение Methuselah » 31 авг 2010, 11:35

Ответы снизу вверх:
1)Потому, что отдел маркетинга и разработки решил, что для заказчика связка Бентли+Оракл является оптимальной, а я работаю вторую неделю на первом месте работы после института :) .
2) Знаю, что так будет и поэтому пытаюсь для начала просто интегрировать обе платформы, ибо в этом состоит мое задание.
3) Геометрия у нас от Oracle Spatial - SDO_Geometry.
4) Именно таким (PostgreSQL\PostGIS + ArcGIS + еще какая-нибудь ГИС скорее всего + репликации) и будет мое следующее задание. Ждите новых тем :)
PS: я надеюсь там будет попроще - по-крайней мере сам буду ставить все, а не приходить в "чужой монастырь"

По нынешней проблеме: есть команда "sdelayer" с опцией "register" позволяет перегнать данные в СДЕ-БД из оракл без лишних вопросов про ключи, проекции и прочее. Т.о. перегнал пару точечных файлов и пару линейных. Судя по всему это и есть выход из сложившейся ситуации. Но вот возникло 2 вопроса уже по sdelayer:

1) Линии вроде у меня нормально отображаются. А вот с полигонами проблема. Указываю параметр "-е а" для тех данных, где указан в SDO_GEOMETRY-столбце первый параметр 2003 (как я понял 2001 - точки, 2002 - линии/полилинии), а СДЕ мне выдает:

ArcSDE 10.0 for Oracle11g Build 685 Fri May 14 12:05:43 2010
Layer Administration Utility
-----------------------------------------------------
Error: DBMS table not found (-37).
Error: Unable to create registration for table pure_region.

Для других файлов со схожей структурой аналогичный ответ. Могу выслать скриншот содержимого оракловской таблицы.

2) Если я неправильно зарегистрировал слой (например, я знаю что геоданные с названием болото должны быть полигональными, а "-е а" параметр выдал ошибку описанную выше, а вот "-е l" сделал эти объекты замкнутыми полилиниями), как мне изменить тип хранимых данных? Через "sdelayer -o alter -e a" выдается:

ArcSDE 10.0 for Oracle11g Build 685 Fri May 14 12:05:43 2010
Layer Administration Utility
-----------------------------------------------------
WARNING, Disabling entity type(s) removes all
features of the specified type(s)!
Are you sure? (Y/N):

поэтому решил не рисковать.

Ответить

Вернуться в «ArcGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 35 гостей