Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Олег
Зарегистрирован: 26.04.2006 Сообщения: 7 Откуда: Москва
|
Добавлено: Ср Май 17, 2006 9:35 am Заголовок сообщения: Пространственные запросы |
|
|
Подскажите пожалуйста, можно ли в MicroStation делать пространственные запросы, как в MapInfo, типа Select*from ... where obj intersects ... |
|
Вернуться к началу |
|
|
ВалВл
Зарегистрирован: 08.02.2006 Сообщения: 138
|
Добавлено: Ср Май 17, 2006 11:34 am Заголовок сообщения: |
|
|
Олег!
Сформулируйте вопрос как-нибудь иначе. |
|
Вернуться к началу |
|
|
Олег
Зарегистрирован: 26.04.2006 Сообщения: 7 Откуда: Москва
|
Добавлено: Ср Май 17, 2006 3:23 pm Заголовок сообщения: |
|
|
Вот код на MapBasic:
'ntable - имя таблицы(слоя)
'ob - переменная, в к-ю записан графический объект
select*from ntable where obj intersects ob
После выполнения этого кода в слое ntable будут выбраны все объекты, имеющие хотя бы одну общую точку с ob. Это пространственный SQL запрос. С помощью такой конструкции можно выбирать объекты, полностью лежащие в объекте ob, объекты, центроид к-х лежит внутри ob и т. д., меняя intersects на соответствующие выражения.
Так вот я хочу того же в MicroStation, т. к. возникла необходимость работы с рельефом, а MI - это 2D система. |
|
Вернуться к началу |
|
|
Leonid давно здесь сидим
Зарегистрирован: 28.01.2006 Сообщения: 598 Откуда: С.-Петербург
|
Добавлено: Ср Май 17, 2006 3:46 pm Заголовок сообщения: |
|
|
Олег
Выделять элементы в MS с помощью SELECT нельзя.
Есть возможность выделять по всевозможным атрибутам, в том числе по слоям, тегам, что по своему принципу очень похоже на то, что Вы описали. |
|
Вернуться к началу |
|
|
ВалВл
Зарегистрирован: 08.02.2006 Сообщения: 138
|
Добавлено: Ср Май 17, 2006 4:03 pm Заголовок сообщения: |
|
|
Я понял, что у Вас есть топоплан 2D ( может даже - векторный), на котором рельеф задан меткой пикета (кружок или точка) и значением высоты. Вы хотите, привязав к каждому пикету его значение и выделив весь массив, поднять точки в 3D и создать цифровую модель рельефа ( ЦМР ). |
|
Вернуться к началу |
|
|
Олег
Зарегистрирован: 26.04.2006 Сообщения: 7 Откуда: Москва
|
Добавлено: Ср Май 17, 2006 4:29 pm Заголовок сообщения: |
|
|
ВалВл
Не только, мне надо по горизонталям или 3D точкам создавать 3D модель и по ней мерять экспозицию склона, уклон по произвольному полигону или линии, высоту в произвольной точке. Я это реализовал в MI. Там строится треангуляция Делоне и по каждому треугольнику в семантику заносятся коэффициенты уравнения плоскости, проходящей через его вершины, по ним уже все легко считается.
Но у MI два недостатка: низкое быстродействие MapBasic программ и отсутсвие человеческого механизма 3D визуализации.
А в MicroStation, как выясняется, невозможны пространственные запросы. Вообще эти самые запросы имеют довольно несложные алгоритмы и их можно было бы написать, но видимо в MicroStation нет и пространственных индексов и много чего другого нормального для ГИС. Так одно будет цепляться за другое и в итоге, если получится что-то стоящее, то это будет немногим проще Geografics(я ее не видел, но подозреваю, что нужные мне вещи там есть).
Так вот, у меня другой вопрос: может где есть описание DLL из Geografics, чтоб не изобретать велосипед и обращаться к ним? |
|
Вернуться к началу |
|
|
beer
Зарегистрирован: 01.02.2006 Сообщения: 215 Откуда: Москва
|
Добавлено: Ср Май 17, 2006 9:33 pm Заголовок сообщения: |
|
|
Олег
Раз уж тут пошла такая пьянка, то у меня вопрос, а как вы строите триангуляцию в районе бортов дорог? Имхо автоматически без опредленных телодвижений это сделать не возможно. |
|
Вернуться к началу |
|
|
ВалВл
Зарегистрирован: 08.02.2006 Сообщения: 138
|
Добавлено: Чт Май 18, 2006 9:16 am Заголовок сообщения: |
|
|
Олег!
Так Вы подняли задающие элементы в 3D, или как...? |
|
Вернуться к началу |
|
|
Олег
Зарегистрирован: 26.04.2006 Сообщения: 7 Откуда: Москва
|
Добавлено: Чт Май 18, 2006 9:51 am Заголовок сообщения: |
|
|
ВалВл
В MI я это уже давно сделал, а в MS без возможности пространственного анализа мне это не надо.
beer
Я работаю с моделью рельефа сельской местности мелкого масштаба, там я с такой проблемой не сталкивался. |
|
Вернуться к началу |
|
|
Leonid давно здесь сидим
Зарегистрирован: 28.01.2006 Сообщения: 598 Откуда: С.-Петербург
|
Добавлено: Чт Май 18, 2006 10:53 am Заголовок сообщения: |
|
|
Олег
Вы уж определитесь, пожалуйста...
Что надо сделать - выделить объекты?
Или сразу пространственным запросом проделать все остальные перечисленные Вами операции - по горизонталям или 3D точкам создавать 3D модель и по ней мерять экспозицию склона, уклон по произвольному полигону или линии, высоту в произвольной точке
И еще, хоть я и не являюсь спецом по ГИС, но выскажу свое личное мнение...
SQL-запросы предназначены для работы с базой данных.
Зачем все валить все в одну кучу? Во всяком случае, с SQL-запросами и БД MS работать может прекрасно, и с выделением объектов у него тоже никогда проблем не было.
Прежде чем делать заявление, о том что программа чего-то не может, неплохо было бы изучить ВСЕ ее возможности.
А требовать, чтобы она по своим командам точно копировала какие-то специализированные приложения, на мой взгляд, не совсем корректно. |
|
Вернуться к началу |
|
|
kav
Зарегистрирован: 13.02.2006 Сообщения: 14
|
Добавлено: Чт Май 18, 2006 1:22 pm Заголовок сообщения: |
|
|
В MicroStation несколько другая идеология работы с базами, чем в MapInfo. База отдельно, объекты отдельно. Связи задаются специальным образом. Поэтому запрос SELECT только к базе, может быть любым SQL запросом.
Построение ЦММ давно реализовано в MicroStatin, это надстройки GeoTerrain, TerraModeler и InRoad (последняя программа самая удобная). Там и построение по точкам, и по горизонталям, делоне, уклоны разрезы объемы и много чего другого, инсоляция всякая ( указание высоты Солнца,построение теней), полеты камеры над моделью и т.д и т.п. |
|
Вернуться к началу |
|
|
kav
Зарегистрирован: 13.02.2006 Сообщения: 14
|
Добавлено: Чт Май 18, 2006 1:40 pm Заголовок сообщения: |
|
|
........Выбрать элементы......
Очень просто, задаешь Fence Type: element
Fence Mode: Inside|Overlap|......
Вроде и все |
|
Вернуться к началу |
|
|
Олег
Зарегистрирован: 26.04.2006 Сообщения: 7 Откуда: Москва
|
Добавлено: Чт Май 18, 2006 5:00 pm Заголовок сообщения: |
|
|
Leonid
Мне надо работать с рельефом и иметь возможность пространственного анализа в одной программе. MS мне приглянулась, когда я в ней какое-то время назад рисовал планы земельных участков, когда почувствовал, насколько она удобней ACada, вот и хочу это делать в MS. Я не требую от нее, чтоб там все было, как в MI, я хочу узнать можно это делать и, если да, то как.
kav
Можно поподробней. А то нажимаю Place a Fence, ставлю Type и Mode, жму на полигон, и ничего... |
|
Вернуться к началу |
|
|
Leonid давно здесь сидим
Зарегистрирован: 28.01.2006 Сообщения: 598 Откуда: С.-Петербург
|
Добавлено: Пн Май 22, 2006 12:40 pm Заголовок сообщения: |
|
|
Олег
Для всех задач, что Вы описали, действительно целесообразно было бы использовать какое-нибудь приложение к MS, вроде Geoterrain или Inroads. В MS, например, невозможно автоматически построить гладкую поверхность по беспорядочным точкам.
Для того чтобы понять - как задачи, которые решались Вами в MapInfo, решаются в MS, было бы неплохо представить эти задачи более подробно.
Например - не только как выделить, а что выделить, и что потом с этим выделением надо сделать.
Насчет фенсы... Она используется как область для манипуляции с объектами, при этом сами объекты не выделяются.
Кстати, очень удобный инструмент, иногда даже незаменимый. |
|
Вернуться к началу |
|
|
tubus
Зарегистрирован: 15.09.2006 Сообщения: 11 Откуда: Санкт-Петербург
|
Добавлено: Вт Сен 19, 2006 12:55 pm Заголовок сообщения: |
|
|
Доброго времени суток, Олег
Осмелюсь утверждать, что Ваши подозрения не напрасны, то есть, в отличии от MapInfo в МicroStation действительно нет возможности пространственных запросов на лету с использование пространственных расширений ANSI SQL и пространственных индексов. Однако GeoGraphics располагает в своем арсенале так называемым "топологическим аналитиком" (Utilities->Topology Analysys), который может генерировать результат топологического анализа на базе исходных элементов (топологические типы: Point, Lies, Area) используя булевые операторы (AND, OR, XOR, DIFFERENCE), пространственные критерии (inside, outside, overlap, touching, coincident...) и условия отбора строк базы банных. На мой взляд, у Topology Analysys больше шансов произвести сложный, многоуровенный пространственный запрос на базе одного и того же набора исходной информации (слоев), чем у MapInfo. Хотя, при этом исходную информацию необходимо предварительно загнать в память Topology Analysys (создать исходные "топологии"). В целом же схожие несложные пространственные запросы MapInfo решает процентов на 30 быстрее (из моего опыта).
Относительно Вашего интерессса к "описанию DLL из Geographics". Кроме Topology Analysys, в GeoGraphics v8 интегрированны некоторые функции распространявшегося под Mst J отдельным модулем GeoSELECTool, а именно скриптовый язык для обработки ГИС данных (Utilities->Scripting). На этом языке можно реализовать, наверно, все функции Topology Analysys по топологическому анализу, плюс масса других полезностей, включая, кстати, импорт/экспорт *.mif, *.mid.
Что касаемо построения и анализа ЦМР (уклоны, экспозиции, инсоляции, бассейн стока и пр.),- присоединяюсь к народу: GeoTerrain или TerraModeler (задачи у них одни и те же, но производители разные). |
|
Вернуться к началу |
|
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
Powered by phpBB © 2001, 2005 phpBB Group
|