Html popup и "идентифицировать" для обьектов с связями

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Ответить
soloinnet
Участник
Сообщения: 64
Зарегистрирован: 11 июл 2013, 17:18
Репутация: 2

Html popup и "идентифицировать" для обьектов с связями

Сообщение soloinnet » 04 апр 2014, 17:47

Добрый день уважаемые форумчане.
Итак вопрос. Имеется проект для медицины со следующими таблицами :
1 - Учреждения - реализованна как точечный набор данных (Id_uchr,Name,Lat,Long)
2 - Финансы - реализованна как таблица (Id_transfer,Id_uchr,Transfer_date,Summary)
3 - Сотрудники - реализованна как таблица (Id_sotrudnik,Id_uchr,FIO,Status)
4 - Пациенты - реализованна как таблица (Id_client,FIO,addres)
5 - Диагнозы - реализованна как таблица (Id_illnes, ilness)
6 - Прием - реализованна как таблица (Id_visit,Id_client,Id_sotrudnik,Id_ilness)

Все они находятся в одной базе данных (файловая в последствии трансфер в sql Express)
Созданы классы простраственных отношении :
1 - Financ - Простые отношения : Источник Учреждения, адресат Финансы, двусторонние, один к многим
2 - Приём к Диагнозам
3 - Приём к Пациентам
4 - Сотрудники к Приёму (все один к одному, сложные, двусторонние)
5 - Учреждения к Сотрудникам (Один к многим, сложные, двусторонние)
Соответсвенно при выборе обьекта "Учреждения на карте, инструментом идетифицировать, показывается его название, потом вкладка финансы где все транзакции, потом вкладка "Сотрудники", в у каждого сотрудника вкладка "Приём" в которой вся информация с вкладкой "Пациенты", "Диагноз".

Понимаю звучит кошмарно, выглядит тоже не лучще
Спойлер
Безымянный.jpg
Фото страшного древа в Идентифицировать(так скорее всего делать нельзя)
Безымянный.jpg (71.89 КБ) 4029 просмотров
Но увы и ах это единственное до чего додумался злой мозг. Надеюсь предложат более лаконичный вариант Связи
Спойлер
Каждое учереждение должно отображать два блока данных:
Финансовые отчисления.
Врачи которые в нём задействованы и принятые пациенты с выставленными диагнозами
Теперь Внимание Вопрос : При выборе учреждения на карте инструментом идетифицировать отображается вышеуказанное древо, как можно задать это отображение в более удобоваримом виде. При выборе же Html popup отображается лишь аттрибутивная информация самого учреждения, а связанные с ним данные увы отсутсвуют.
А так же, странная вещь, при использовании слоем "соединения" из "соединения и связи" , он перестаёт отображать свою информацию в идентификаторе. :roll:
ПО - ArcGis 10.1, ОС - Windows 7
Спойлер
Господа, если будьте добры при предложениях : надо писать код - давать хотябы какуюнибудь подсказку как и на чём его писать (Пример скрипта Python реализующего подобную задачу будет встречен громкими авациями), при остылании читать мануалы и учить матчасть , предлагать ссылки на статьи в arcgis resource center.
Всем заранее благодарен.
Последний раз редактировалось soloinnet 23 апр 2014, 17:21, всего редактировалось 1 раз.

NATALI
Интересующийся
Сообщения: 28
Зарегистрирован: 17 апр 2012, 12:14
Репутация: 3
Откуда: Донецк

Re: Html popup и "идентифицировать" для обьектов с связями

Сообщение NATALI » 05 апр 2014, 23:43

Скорее всего никак...
Возможно, только отдельный скрипт, который в HTML будет отображать связанные таблицы...

[ Сообщение с мобильного устройства ]

doujin
Активный участник
Сообщения: 163
Зарегистрирован: 28 июн 2012, 01:02
Репутация: 84
Откуда: Vladivostok

Re: Html popup и "идентифицировать" для обьектов с связями

Сообщение doujin » 07 апр 2014, 02:57

1) Что бы настроить отображение дерева объектов в окне идентификации достаточно определить отображаемое выражение для каждой таблицы или слоя, участвующих в отношениях.
Спойлер
Изображение
Например, для таблицы с пациентами это может быть

Код: Выделить всё

[Pacient_surname]
или

Код: Выделить всё

[Pacient_surname]&" "&[Pacient_name]

Так же, если добавить все таблицы в содержание карты, то там их можно будет переименовать. В таком случае вместо "Pacient_" можно будет отобразить "Список пациентов", например.
Еще можно в свойствах таблиц и слоев на закладке Поля (Fields) выключать отображение служебных полей (objectid и т.п.), а заодно добавить псевдонимы для названий полей. Это позволит отобразить в окне идентификации вместо "Pacient_surname" русское "Фамилия пациента".
В целом на структуру дерева это не сильно повлияет, но в нем, по крайней мере, можно будет разобраться. Но все эти настройки будут храниться только в проекте карты. Таблицы с данными они никак не затрагивают.

2) Заставить отображать связанные поля в HTML popup, на сколько я понял, нельзя. Хотя можно генерировать страницы самостоятельно на каком-нибудь внешнем веб-сервере, а в HTML popup подгружать их как ссылки. Но конкретных реализаций тут может быть масса.

3) Еще вариант: написать свою собственную идентификацию, в которой будут шахматы и гимназистки. Тогда в окне с информацией можно будет выводить почти что угодно и как угодно. Для этого надо смотреть в сторону ArcObjects и C#. У python таких возможностей нет.

soloinnet
Участник
Сообщения: 64
Зарегистрирован: 11 июл 2013, 17:18
Репутация: 2

Re: Html popup и "идентифицировать" для обьектов с связями

Сообщение soloinnet » 23 апр 2014, 17:20

Тема закрыта, ибо расширенная идентификация пользователю ArcGis desctop не нужна (опытный должен быть человек в конце концов) а web- решения всё на html popup и нормально работает. Всем спасибо за внимание.
Попрошу помочь в Здесь по поводу popup в Flex viewer

Ответить

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

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

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