Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
And
Зарегистрирован: 25.05.2006 Сообщения: 13 Откуда: Москва
|
Добавлено: Чт Май 25, 2006 6:22 pm Заголовок сообщения: Выделение Shape по координатам. |
|
|
Здравствуйте, уважаемые.
Подскажите, какие есть пути решения следующей проблемы.
Существует кадастровая карта (4000 участков), в которой центройдами являются кадастрвые номера участков (Text). Каждый номер находиться внутри шейпа, являющегося границей учатска. Каким образом можно сделать заливку этих шейпов, в зависимости от запроса из БД?
Есть мысль :
1. с помощью MDL получить координаты цетройдов, выделенных по запросу.
2. Затем на основе этих координат искать шейпы, в область которых они попадают, например программно с помощью Flood, все их выделить.
Есть ли какие-нибудь готовые решения по второму пункту?
Или все эти операции можно сделать без использования MDL, а с использованием прикладных программ? |
|
Вернуться к началу |
|
|
Leonid давно здесь сидим
Зарегистрирован: 28.01.2006 Сообщения: 598 Откуда: С.-Петербург
|
Добавлено: Пт Май 26, 2006 9:31 am Заголовок сообщения: |
|
|
Из прикладных таких программ не встречал.
На мой взгляд, самая подходящая задачка для VBA или макроса, а в MDL с базами вопросы решаются не совсем тривиально.
Порядок работы макроса:
- выделить текст по его содержанию (Select by attributes, Settings -> Text, String)
- пробегая по полученным текстовым элемента выделения:
- дать команду Flood с соотв. параметрами
- дать MbeSendDataPoint по точке текста |
|
Вернуться к началу |
|
|
wahha
Зарегистрирован: 20.10.2006 Сообщения: 5
|
Добавлено: Вт Окт 24, 2006 3:19 pm Заголовок сообщения: |
|
|
Чем вас Geografics не устраивает? Он все это делает. Надо только "линки" с центройдов на shape перекинуть |
|
Вернуться к началу |
|
|
And
Зарегистрирован: 25.05.2006 Сообщения: 13 Откуда: Москва
|
Добавлено: Вт Окт 24, 2006 4:14 pm Заголовок сообщения: |
|
|
>>Надо только "линки" с центройдов на shape перекинуть
А поподробнее можно? Это делается автоматически или вручную? |
|
Вернуться к началу |
|
|
ВалВл
Зарегистрирован: 08.02.2006 Сообщения: 138
|
Добавлено: Ср Окт 25, 2006 7:30 am Заголовок сообщения: |
|
|
Если выделение нужно для поиска участка, то я, в аналогичной ситуации ищу текст(номер участка): Текст>Найти... |
|
Вернуться к началу |
|
|
wahha
Зарегистрирован: 20.10.2006 Сообщения: 5
|
Добавлено: Чт Окт 26, 2006 11:37 am Заголовок сообщения: |
|
|
Технология может быть следующая (для вашего случая, когда шейпы уже есть, первые пункты можно пропустить):
У вас имеется карта границ (линии не дублируются, состыковываются узел в узел), внутри участка, образованного границами, стоит текстовая надпись (допустим с кадастровым номером).
Вся работа ведется в Geografics.
1. Если нужно, проверяется топология файла границ (состыковка линий, соответствие одного текста одной площади и т. д.) в полуавтоматическом режиме - MS указывает ошибки, пользователь исправляет.
2. В автоматическом режиме создаются шейпы на участки.
3. Открывается проект с базой данных, в которой есть отдельная таблица для привязки текстовых надписей карты
4. Центройды (текстовые надписи) привязывается в выше описанной таблице и в базу данных выгружаются текстовые надписи с карты.
5. В базе у вас должна быть таблица, которая содержит описание участков (те признаки по которым их надо раскрашивать) и колонку с кадастровыми номерами (или теми текстовыми строчками, которые есть на карте)
6. Линки с центройдов автоматически перекидываются на созданные или существующие шейпы.
7. В инструменте "tematic resimbolisation" С помощью запросов описываете какому признаку соответствует какой цвет (запросы делаются через связь таблиц той к которой привязаны текстовые строки и той где хранятся признаки)
или можно признаки скопировать в таблицу к которой привязаны текстовые строки и делать запрос на прямую.
8. Набранные запросы созраняются в файл (на будущее), шейпы заливаются соотвествующими цветами.
Вот в кратко и все. Но очень кратко. |
|
Вернуться к началу |
|
|
ВалВл
Зарегистрирован: 08.02.2006 Сообщения: 138
|
Добавлено: Чт Окт 26, 2006 2:28 pm Заголовок сообщения: |
|
|
Можно ещё короче: а без создания таблиц залить участки разве нельзя? |
|
Вернуться к началу |
|
|
|