Relationships

0 голосов
спросил 22 Фев, 06 от Гость (210,080 баллов) в категории Программные продукты Esri

в Visio сделал стуктуру БД - сделал в АркКаталоге ГБД

создал пространственный слой зем участков с Субклассами и объектный слой адресов

так как же сделать так, чтобы все зем участки (независимо от субклассов) и мели адреса???

29 Ответы

0 голосов
ответил 24 Фев, 06 от Bush (2,280 баллов)

чего это?

я под связью подразумеваю связывание допустим таблиц, а

под Relationship - отношения, имеющие определенное поведение, вот

и если Вы так МНОГО знаете, ув. :-), то, думаю, не нуна смеяться над людьми, не достигшими таких вершин как Вы...

0 голосов
ответил 25 Фев, 06 от Гость (210,080 баллов)

...и если Вы так МНОГО знаете, ув. :-)...

Не, скорее всего я МНОГОГО НЕ знаю...  Например, в чём разница (в контексте етого топика) промежду связями и Relationships...  image

Объясните, плииз!

0 голосов
ответил 25 Фев, 06 от Bush (2,280 баллов)

я ж говорю, связь - это Join, а отношения (Relationship) подразумевают определенное поведение объектов, которые входят в него! например, если вы удаляете земельный участок (featureclass), который соотносится с таблицей владельцев этих участков, то удаляе(ю)тся и соответсвующий(е) владельцы из таблицы владельцев (objectclass)

 

помойму так...

0 голосов
ответил 26 Фев, 06 от Grigoriy (127,020 баллов)

Связь (Relationships) между объектами в БГД это всё-таки простая связь между таблицами по общему идентификатору. Пока Вы не пропишите в таблицах классов этот общий идентификатор - объекты не будут связаны. Поведение по умолчанию установлено при редактировании объектов. Вы можете в редакторе создать новую связь и новый объект в связанном классе редактируя атрибуты объекта - см. ArcGIS Desktop Help->Editing in ArcMap->Editing Relationships and Related objects. Объекты при этом будут связаны. Если Вам нужно дополнительное поведение поведение объектов (например автоматическое связывание адреса с участком при попадании точки внутрь участка), то его придётся дописывать программно. Есть хороший пример модели адресов - см. http://support.esri.com/index.cfm?fa=downloads.dataModels.fi lteredGateway&dmid=32. Для Ваших потребностей модель, естественно, нужно дорабатывать.

Примеры кода см. ArcGIS Developer Help->Samples->Extending ArcObjects->Ch07_Geodatabase

 

0 голосов
ответил 26 Фев, 06 от Bush (2,280 баллов)
Спасибо, будем искать, будем искать и подрабатывать
0 голосов
ответил 26 Фев, 06 от Bush (2,280 баллов)

я не тупой - я учусь!!!image

и все-таки, еще раз и сначала - есть две пустые таблицы и класс отношений между ними (каждый зем участок имеет владельца(ев)):

1) featureclass - зем участки, допустим

2) objectclass - владельцы этих участков

3) relationshipclass

и при СОЗДАНИИ объектов в 1) и 2) как сделать так, чтобы появлялась автоматом запись в таблице 3)???  или автоматом возможно только через программирование?

0 голосов
ответил 26 Фев, 06 от Гость (210,080 баллов)
Связи в AG на пользовательском уровне это сплошная декларация намерений и ничего больше. Какой в них прок на пользовательском уровне (т.е. при создании через интерфейс без дополнительного програмирования специализироованных инструментов) я лично не понял.

Автоматически появлятся ничего не будет просто так без дополнительного програмирования (я так понимаю у них это возможно тогда когда создаешь пользовательские сложные объекты, пример которых аннотации). Это насколько я понял, может ошибаюсь.

Связь между этими таблицами лучше делать по полю содержащему общею информацию - т.е. кадастровому номеру земельного участка.

Я послал письмо знакомым из двух фирм разрабатывающим системы учета недвижимости - надеюсь они Вам напишут. У них принцип такой: карта в ГИС, атрибутика и ее редактирование в СУБД.

Кстати про удаление записей - а зачем это делать? Владельцы могут опять что-то купить. А не актуальные земельные участки лучше сохранять (для решения конфликтных ситуаций всегда пригодится).
0 голосов
ответил 27 Фев, 06 от Grigoriy (127,020 баллов)

При редактировании 1) или 2) в окне редактирования атрибутов раскрываете связанные объекты и правой кнопкой мыши выбираете "Добавить новое" (Add New). При этом создается новый связанный объект в связанной таблице и ему будет автоматически присвоен идентификатор и заполнены значения по-умолчанию для полей. Если отношение атрибутивное, то связь тоже создется, но заполнение атрибутов отношения остается на совести оператора или программиста. Это встроенное поведение. Если нужно больше - то придётся кодировать.

А если первым или другим гостям эта декларация намерений не нужна - могут ею не пользоватьсяimage.

0 голосов
ответил 27 Фев, 06 от Bush (2,280 баллов)

да, для featureclass с objectclass - получаестя, а если objectclass с objectclass - то нет

Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...