Построение цифровой модели рельефа по растровой карте
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Построение цифровой модели рельефа по растровой карте

Построение цифровой модели рельефа по растровой карте

Ответ
Поиск в этой теме
Непрочитано 23.09.2010, 22:01 #1
Построение цифровой модели рельефа по растровой карте
andrik75
 
Регистрация: 23.09.2010
Сообщений: 9

Доброго времени суток всем!
Есть у меня задача над решением которой я бьюсь уже год с лишним и все никак.
Выходные данные: растровая карта месности или же выкопировка с горизонталями.
Задача: По этой карте построить цифровую модель рельефа. "Оцифровать" можно и вручную, тоесть ввести в программу нужные горизонтали и отметки высот. В результате программа на области карты должна построить некую гладкую функцию вида z=f(x,y), имея которую я бы мог уже анализировать рельеф местности. Визуализация не нужна. Нужна идея и алгоритм самой реализации на любом языке программирования, так как я сам програмер и разобраться в этом смогу.
Интересует: алгоритм триангуляции, применимый для геодезии, или модернизированная триангуляция Делонэ, а также алгоритм быстрого поиска попадания точки P(x,y) в ккакой то из треугольников триангуляции.
А вопщем интересует все, что с этим связано!
Просмотров: 22765
 
Непрочитано 23.09.2010, 22:23
#2
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Триангуляция.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 23.09.2010, 22:49
#3
andrik75


 
Регистрация: 23.09.2010
Сообщений: 9


hwd
Спасибо! С лиспом я разберусь как то, перепишу на С++ или Делфи.
Но всеже! Ткнуть в любую точку на листе и узнать к какому треугольнику триангуляции она принадлежит как? Простой перебор не подходит! Нужно что то поизящнее. А как?
andrik75 вне форума  
 
Непрочитано 24.09.2010, 07:32
#4
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Если "на любом языке программирования", то программисту надо знать про существование

http://algolist.manual.ru/
http://alglib.sources.ru/

Для Delphi - на torry есть библиотечные реализации.
На LISP - лучше всего у Евгения, ссылка в #2
ShaggyDoc вне форума  
 
Автор темы   Непрочитано 24.09.2010, 08:52
#5
andrik75


 
Регистрация: 23.09.2010
Сообщений: 9


Цитата:
то программисту надо знать про существование
А кто сказал, что программист про эти ресерсы не знает!? Знает! Но именно того, что мне нужно там нету. www.torry.net "заточена" в основном под визуальность, а мне нужна практически чистая математика.
Ну есть одна идея: разбить область на равномерную прямоугольную сетку, посчитать какие треугольники попадают в каждую ячейку сетки, а потом при работе попадание точки в ячейку прямоугольной сетки вычисляется элементарно и найти найти нужный треуголик не составит труда.
Еще варианты в студию!
andrik75 вне форума  
 
Непрочитано 24.09.2010, 21:56
#6
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Можно и мне свои пять копеек вставить?
Начну с постановки задачи
Цитата:
...растровая карта месности или же выкопировка с горизонталями...
кусок бумаги или скан с нее, что еще хуже в котором единственное полезное, что можно оставить, это горизонтали и отметки их высот. Точность - мягко говоря, плюс минус два ведра.
Либо просто точки с отметками высот, как на всех геоподосновах, что в рельеф перевести вообще получается черте что.
Предполагается эту лабуду держать в виде математической модели. Ладно. Триангуляция говорите? - А зачем? Для компактности? или для облегчения математических вычислений высоты и координат точки, на которую вы ткнули?
Если взять и все горизонтали сделать сплайнами, а сплайн самая компактная форма матиматического описания кривой, да еще и расбросать эти сплайны по вертикали, то какая триангуляция вам еще нужна?
А между прочим, 3D солид самая компактная математическая модель описания объема и именно по этому математическому описанию строится визуализация. 3D солид не только компактно упакованная математическая модель, но и шикарный инструмент определения точек пересечения с другими математическими объектами.
Дело не в визуализации, как цели построения пространственной фигуры, а как инструмента решения конкретных задач.
Берем горизонтали, переводим их в сплайны, разносим по вертикали и командой _loft (2010 кад) строим математическую модель рельефа.
Supermax вне форума  
 
Автор темы   Непрочитано 24.09.2010, 22:05
#7
andrik75


 
Регистрация: 23.09.2010
Сообщений: 9


Supermax
Очень хорошо! Про сплайны, горизонтали и разнос по вертикали понял, да и сам в курсе. Но только как найти высоту точки между сплайнами (горизонталями)? Математику в студию, плиз. А так идея конечно супер.
Мне бы желательно смастерить что то такое свое чтоб не использовало сторонние програмные продукты. И главное: на выходе должно всегда быти что то типа z=f(x,y)!!! По другому не подходит.
andrik75 вне форума  
 
Непрочитано 24.09.2010, 23:39
#8
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Если смотреть на хранение данных о рельефе без привязки к программам, то это хранение может быть интересно только историкам, а в реальном строительстве геоподоснова теряет свою реальность еще на стадии создания. Архивные данные почти всегда не соответствуют натуре. Геодезисты порой просто халтурят и упрощают себе работу надписями типа "изрыто". Вот как такую надпись перевести в математическую модель?
Не привязываться к программам имеет смысл только изходя из того, что они устаревают и заменяются другими, которые старые форматы файлов и макросы не переваривают. Но всегда, я подчеркиваю, всегда математика находит себе выход в программу. Ее только в программе можно хоть как-то использовать. Создав объемную модель рельефа в любом формате файла вы всегда прочтете этот файл, даже если умрут фирмы, которые писали ПО для вас. Это ПО у вас на компе никто не сотрет, руки коротки. И компьютер вы выбросите только тогда, кода купите другой, который может все ваши файлы читать.
3D солиды придумали не в AutoDesk. Есть описание их структуры и рельеф там можно делать как сеть сплайнов, причем в трех плоскостях.
все разбито не на треугольники, а на квадратики (хотя можно и треугольниками, больше сплайнов потребуется), где каждая грань - участок сплайна.
Но эти все сложности не нужны. Надо упрощать, а не усложнять, тем более, что исходный материал -
Если вы понимаете, что математику тоже прийдется хранить в файле, и что DWG или DXF ничем не хуже, то как найти точку на сплайне ближайшую к вектору Z с координатами такими-то, затем к другому сплайну и затем нахождение искомой точки, родим с божей помощью.

Есть два сплайна. Задаем точность и переводим описание сплайна в 3D полилинию или кучу отдельных линий. Находим ближайшую по XY к XY вектора Z и вычисляем на этой линии XYZ точку кратчайшего расстояния.
Проделываем то же самое с другим сплайном.
Имеем две точки и координаты нашего вектора Z. Находим точку на отрезке между двумя точками на сплайнах ближайшую к вектору Z. Z этой точки и есть искомый Z на нашем векторе.
Надеюсь понятно?

Последний раз редактировалось Supermax, 24.09.2010 в 23:56.
Supermax вне форума  
 
Непрочитано 25.09.2010, 06:05
#9
Valery Brelovsky

Инженер дорожник
 
Регистрация: 22.10.2007
Израиль
Сообщений: 1,855


Всякая идея должна кудато вести. Для обработки растров есть к примеру
AUTODESK.AUTOCAD.RASTER.DESIGN.V2011. Но вёравно он не строит модель местности. Нужно полученные линии тобишь горизонтали разнести по высотам в ручную. Есть программы которые по эти горизонталям построят рельеф местности и дадут возможность ткнув в любую точку получить x,y,z к примеру autocad_civil_3d_2011.
И уже на самое последнее в autocad_civil_3d_2011 и 2010 имеется функция Import Google Earth &Surface...
Valery Brelovsky вне форума  
 
Непрочитано 25.09.2010, 09:26
#10
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Во! И я о том же. Использовать чей-то продукт и затачивать под него архив не значит ангажировать конкретного производителя ПО. На 14 каде до сих пор многие работают (так архивы сделаны) Хотя в этот формат можно и на более продвинутых кадах все записывать (денег на ПО жалко).
Когда архив разросся, его влом на другой формат переделывать, но если перевести описание чего-то в математическую модель и хранить в текстовом формате (он кажется вечным), то все равно надо писать прогу перегоняющую текст в формат современных ПО. Если все хранится не в тексте, то все равно писать конвертер придется. Так какая разница в чем хранить? Все одно, что понос, что золотуха.
Supermax вне форума  
 
Непрочитано 25.09.2010, 09:38
#11
Disney

Геодезист
 
Регистрация: 12.03.2009
Сибирь (где медведи по улицам ходят)
Сообщений: 860
Отправить сообщение для Disney с помощью Skype™


Цитата:
Сообщение от Supermax Посмотреть сообщение
Геодезисты порой просто халтурят и упрощают себе работу надписями типа "изрыто"
А Руками разводители ни когда не халтурят?
Надпись изрыто, лишь говорит о том, что горизонтали там проводить не стоит, а отметка дона для общего понимания, т.к. на 2 метра вправо она (отметка) может быть уже на 0.5 метра выше, а на 2 метра влево на 0.5 метра ниже, потому, что там "изрыто". Кстати, ещё бывают "Навалы грунта" они вам тоже не понравятся
__________________
Почему все вдруг становятся умными, когда уже не надо?
Disney вне форума  
 
Непрочитано 25.09.2010, 09:45
#12
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Я не говорю о тех ситуациях, когда в самом деле нет смысла описывать данный участок, но когда геодезисту просто было влом попасть на охраняемую территорию и он на ровном месте, без ям и куч написал "изрыто", чему я много раз сам был свидетелем, поскольку теплотрассами часто озабочен, то уж сами понимаете.
Один раз было в Москве, почти в центре. Строение задом примыкает к крутому склону и участок за строением порос колючими кустами, так на геоподоснове там написано "изрыто" пришлось самим отметки снимать.
Supermax вне форума  
 
Автор темы   Непрочитано 25.09.2010, 11:06
#13
andrik75


 
Регистрация: 23.09.2010
Сообщений: 9


)) ой люди добрые, да чтоб ж вы все такие прикладники, Поймите же, мне нужно "сделать рельеф" в моей собственной программе, дя того чтоб она проводила расчеты так как нужно, а вы мне про автокады, цивилы и прочее. Да, они умеют, но математика там есть, и я хочу знать какая. Мне не нужен рельеф с точностью до кинутой горстьи песка, мне нужно описать примерно на участке метров максимум 300х300, взял карту 1:2000, перерисовал ручками с нее изолинии и отметки высот, программа пощаманила-пошаманила и смогла выдавать z=f(x,y). И всего то! Можна чтоб не очень точно но зато универсально.
andrik75 вне форума  
 
Непрочитано 25.09.2010, 13:10
#14
Valery Brelovsky

Инженер дорожник
 
Регистрация: 22.10.2007
Израиль
Сообщений: 1,855


Тогда есть программа MathCAD, которая обрабатывает функции и строит поверхность и графики.
Valery Brelovsky вне форума  
 
Непрочитано 25.09.2010, 16:25
#15
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


Цитата:
В результате программа на области карты должна построить некую гладкую функцию вида z=f(x,y)
а будет ли такая функция? Для сложного рельефа придется разные участки описывать разными сложными функциями. Проще просто хранить набор треугольников

Цитата:
а также алгоритм быстрого поиска попадания точки P(x,y) в ккакой то из треугольников триангуляции.
Сколько у вас планируется треугольников? погуглите "разбиение пространства" например octree, b-tree.
zamtmn вне форума  
 
Непрочитано 25.09.2010, 18:18
#16
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
ой люди добрые, да чтоб ж вы все такие прикладники
А здесь все такие. Здесь все понимают то, что является "военной тайной" для программистов - самое сложное это получить по растровой "карте" правильные горизонтали и отметки точек. Вот эта часть задачи практически, в подавляющем большинстве случаев, нерешаема.

Потому народ и ссылается на программы, в которых это реализовано. Реализовывалось, между прочим, на наших глазах в течение лет двадцати, прежде чем стали хорошие результаты появляться.

Карта я пишу в кавычках, потому что это понятие для "бабушек на скамейке". Если работаете действительно с картой, т.е. отображением поверхности планеты с учетом её формы, задача и теоретически нерешаема. Надо говорить про план, т.е. представление местности из предположения, что земля плоская и покоится на спинах слонов.

А когда есть идеализированная модель местности, где можно горизонтали представить в виде "некую гладкую функцию вида z=f(x,y)", остальное - дело техники программирования.

Геодезические алгоритмы триангуляции изложены в учебниках по геодезии. Без привязки вообще к программирования. Есть и старая книжка "Решение массовых геодезических задач на микроЭВМ" (еще 1991 год). Там достаточно подробно. В доступной плоской форме.

И не стоит игнорировать ссылку в #2 на сайт Евгения Елпанова. Там и реализации. Весьма квалифицированнные.

Свои функции не прилагаю. "Из прынцыпа" (С). У Евгения лучше.
ShaggyDoc вне форума  
 
Непрочитано 25.09.2010, 18:49
#17
bernata


 
Регистрация: 22.09.2005
здесь могла быть ваша реклама
Сообщений: 1,296


http://dwg.ru/dnl/8629
bernata вне форума  
 
Автор темы   Непрочитано 25.09.2010, 22:35
#18
andrik75


 
Регистрация: 23.09.2010
Сообщений: 9


Ну как я уже себе представляю нужно сделать следующее (по шагам):
1. Набросать из растровой карты горизонтали и отметки высот. Ну эту часть я планирую делать вручную пока что, без всевозможных векторизаторов и т.д.
2. По точкам сдеталь триангуляцию. Каждая точка "знает" в каких треугольниках она участвует.
3. Для ускорения расчетов всю область предварительно разбить на бинарное дерево, в конце каждой ветки будет только одна точка (ну или сделать ограничение на максимальное количество подветок).
Далее просто: тыкаем в любом месте карты, по бинарному дереву определяем..... даааа... пишу пишу ..... ниче не определяем, всплывают загвоздки которые сводят на нет весь труд ((
.... пока туго ....
andrik75 вне форума  
 
Непрочитано 26.09.2010, 00:48
#19
Li6-D


 
Регистрация: 03.05.2009
Сообщений: 112


Если требование гладкости (это очень нужно?) заменить непрерывностью рельефа, самое простое решение с моей точки зрения такое:
На план накладываем прямоугольную сетку, каждая клетка которой имеет постоянную высоту, ширину и разделена диагональю
на два прямоугольных треугольника, допустим из левого верхнего угла в правый нижний. Внутри каждого треугольника (ячейки) считаем рельеф плоским. Для любой указанной пользователем точки плана P по координатам Xp,Yp можно легко найти адрес ячейки, которой эта точка принадлежит. И если известны координаты Zv вершин ячейки можно найти требуюмую Zp. Математика действительно здесь очень проста. В принципе об этом говорит автор темы (пост #5).
Сложнее подготовить план, т.е. решить апроксимационную задачу и найти Zлополучные координаты Zv для вершин сетки по имеющимся данным: по изолиниям ли, просто по списку известных точек рельефа, нерегулярным образом расположенных на карте.

Последний раз редактировалось Li6-D, 26.09.2010 в 01:01.
Li6-D вне форума  
 
Непрочитано 26.09.2010, 03:01
#20
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


Цитата:
Далее просто: тыкаем в любом месте карты, по бинарному дереву определяем..... даааа... пишу пишу ..... ниче не определяем, всплывают загвоздки которые сводят на нет весь труд ((
А это от того, что сделай то, низнаю что... Триангуляция хорошо описана в множестве источников, поиска быстрее чем в бинарном дереве еще не придумано (в общем случае) Апроксимировать рельеф кроме как плоскостями (треугольниками) смысла никакого нет... что еще надо?

Цитата:
разбить на бинарное дерево, в конце каждой ветки будет только одна точка (ну или сделать ограничение на максимальное количество подветок).
оставлять в ноде только одну точку смысла никакого нет, только вред. обычно ограничивают глубину дерева и минимальное количество примитивов в ноде. Вообще хранить в дереве точки неправильно ИМХО, нужно хотябы треугольники.
zamtmn вне форума  
 
Автор темы   Непрочитано 26.09.2010, 11:42
#21
andrik75


 
Регистрация: 23.09.2010
Сообщений: 9


Цитата:
Сложнее подготовить план, т.е. решить апроксимационную задачу и найти Zлополучные координаты Zv для вершин сетки по имеющимся данным: по изолиниям ли, просто по списку известных точек рельефа, нерегулярным образом расположенных на карте.
...вот вот и я о том же!

Цитата:
Вообще хранить в дереве точки неправильно ИМХО, нужно хотябы треугольники.
))) и я как не странно пока заснул до этого тоже додумался

есть вариант:
строить бинарное дерево, и определять, какие треугольники лежат полностью или пересекают каждую ячейку бинарного дерева, или же построить регулярную прямоугольную сетку и так же определить какие треугольники находятся полностью или частично в каждой ячейке.

Да, кстати, посоветуйте, пожалуйста, алгоритм, или лучше уже готовое решение, триангуляции, которая бы лучше подходила для геодезии. Триангуляция Делонэ, где-то я читал, в случае с горизонталями дает не очень удовлетворительные результаты.
andrik75 вне форума  
 
Непрочитано 02.10.2010, 16:04
#22
Владимир.

Проектирую
 
Регистрация: 10.01.2005
Сообщений: 3,738


Цитата:
Сообщение от Supermax Посмотреть сообщение
Триангуляция говорите? - А зачем?
Зачем вдаваться в детали: что, почем и почему...
Это уже давно придумали и я не знаю другого, чтобы использовали в современных программах типа Геоникса, кроме триангуляции Делонэ
Цитата:
Сообщение от andrik75 Посмотреть сообщение
Триангуляция Делонэ, где-то я читал, в случае с горизонталями дает не очень удовлетворительные результаты.
В смысле? Построенная по горизонталям? Или наоборот? Горизонтали, построенные по труиангуляции?
Для расчетов отметок/объемов горизонтали не используют. Они только для визуальной "проверки" рельефа. Считают по поверхности, т.е. по тем самым треугольникам
Владимир. вне форума  
 
Автор темы   Непрочитано 02.10.2010, 17:09
#23
andrik75


 
Регистрация: 23.09.2010
Сообщений: 9


в смысле построенная по горизонталям!
ну в принципе, то что нужно я уже нашел, спасибо Александру achawk.narod.ru, буду разбираться, так что тему можно считать решенной
andrik75 вне форума  
 
Непрочитано 02.10.2010, 17:30
#24
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


этот топик был рекламой?
zamtmn вне форума  
 
Автор темы   Непрочитано 02.10.2010, 21:18
#25
andrik75


 
Регистрация: 23.09.2010
Сообщений: 9


Цитата:
Сообщение от zamtmn Посмотреть сообщение
этот топик был рекламой?
а Вы видите в этом смысл? я нет!
это уже офтоп, но все же, это мои поиски решения, которые на данном этапе отобразились именно в вышеизложенное. и не более того!
andrik75 вне форума  
 
Непрочитано 13.10.2010, 08:26 Триангуляция Делоне
#26
slogos


 
Регистрация: 02.06.2009
Сообщений: 36


Если тема еще актуальна, возможно смогу оказать конкретную помощь. У меня есть собственные наработки по этой теме. По набору пикетов (точек с xyz) cтроится триангуляция Делоне. Есть функция укладки проектной линии на поверхность (с математической точки зрения - проектирование плоской полилинии на поверхность, представленную треугольниками, а точнее 3DFace). а в ней, конечно z = f(x,y), только определение в какой треугольник попадает точка решено просто перебором.Приложения составлены на VLISPe. Поэкспериментировал со сглаживанием поверхности - пришел к выводу, что это не приводит к ощутимому улучшению результата. Проверял на стереомоделях в Photomode. Точнее в каких то случаях это происходит, но нет способа заранее сказать когда это случится. А вообще на эту тему много публикаций, в одной диссертации, например, доказывается, что точнее всего сглаживать поверхность рельефа методом крикинга. Замена сети треугольников регулярной сеткой целесообразна только для облегчения дальнейших вычислений, но это искажает результат. Если работаете по тополанам, где горизонтали строились на основе пикетов, то их не нужно использовать - горизонтали это производная от пикетов это раз, а второе - Вы ну уверены что они построены верно.

Последний раз редактировалось Кулик Алексей aka kpblc, 13.10.2010 в 10:19.
slogos вне форума  
 
Непрочитано 13.10.2010, 09:44
#27
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
Сообщение от slogos Посмотреть сообщение
Если работаете по тополанам, где горизонтали строились на основе пикетов, то их не нужно использовать - горизонтали это производная от пикетов это раз, а второе - Вы ну уверены что они построены верно.
Да, идеально было бы использовать "пикеты", т.е. точки, в которых непосредственно бралась отметка. К сожалению, отметок всех точек, которые брались в поле, на топопланах нет. Это уж внутренние хитрости топографов.

А про горизонтали можно уверенно утверждать - все они нарисованы неверно. Потому что они именно "рисуются", и другой топограф по тем же самым пикетам "нарисует" горизонталь хоть немного, но иначе. Хорошо ещё, если они правильно характер рельефа отображают. А если рельеф не явно выраженный, провести горизонтали очень сложно. Только "на глазок".
ShaggyDoc вне форума  
 
Непрочитано 13.10.2010, 10:08
#28
Сергей Дубина


 
Регистрация: 06.04.2009
Сообщений: 702


А как быть с негладкими функциями: дороги с бордюрами, обрывы, откосы, подпорные стены и т.д.?
__________________
КазнитьØнельзяØпомиловать:eek:
Сергей Дубина вне форума  
 
Непрочитано 13.10.2010, 10:54
#29
slogos


 
Регистрация: 02.06.2009
Сообщений: 36


Это т.н. структурные линии рельефа. Есть два варианта решения: 1)Строить триангуляцию с учетом этого, а это значит в алгоритме д.б. предусмотрено, что треугольники не должны пересекать эти динии 2)строить триангуляцию "так как есть " а потом удалаять ребра пересекающие линии т.е. преобразовать триангуляцию. Вообще говоря, через перечисленные объекты не должны "проходить" горизонтали - только и всего, а ЦМР может быть построена правильно и без учета их, но в этом случае пикеты должны выбираться "грамотно".
slogos вне форума  
 
Непрочитано 02.11.2010, 14:37
#30
slogos


 
Регистрация: 02.06.2009
Сообщений: 36


Какова конечная цель? Для построения цифровой модели рельефа и дальнейшего ее использования я использую Lisp-программу. Поскольку это делаю в Acade, то не создаю никакого дерева и не храню информацию о соответствии точек и треугольников. Что называется построил 3D-Face и забыл. ЦМР в виде треугольников (3Dfase) наиболее точна, т.к. она строится по пикетам, выбираемым специальным образом на месиности. Всякая сглаживание не улучшает модель. А если все-таки это необходимо делать, то можно создать регулярную сеть, а можно сгладить и сплайнами. Все это легко делается на Lispe/
slogos вне форума  
 
Непрочитано 04.02.2011, 11:36
#31
slogos


 
Регистрация: 02.06.2009
Сообщений: 36


"каждая точка знает в каких треугольниках учавствует", "бинарное дерево", "матрица инцидентности" и пр - это хорошо для классических языков, для Vlispa (да и для самой задачи) все должно быть проще. И есть - например у Елпанова. По массиву точек строится поверхность в виде 3Dface. Всякое сглаживание поверхности вносит погрешность. А для определения z (т.е. z = f(x,y)) нужной точки достаточно прогу которая находит точку пересечени отрезка с плоскостью 3Dграни. Если время поиска попадания точки на ту или иную грань критично, можно придумать всякие хитрости. Для сведения - при количестве граней 500-700 (точек 400) ждать не долго.
slogos вне форума  
 
Непрочитано 06.09.2015, 23:09
#32
lema


 
Регистрация: 06.09.2015
Сообщений: 13


Здравствуйте все. Сразу скажу - я не работаю в автокаде. Меня интересует, есть ли возможность преобразовать топографическую карту автокада, в растровую карту высот?
Типа вот в такую:
<a href='http://hostingkartinok.com/show-image.php?id=07148561a947f824d251e4c428457e4d' title='imagehost'><img src='http://s7.hostingkartinok.com/uploads/thumbs/2015/09/07148561a947f824d251e4c428457e4d.png' /></a>
Если такое можно сделать, то на сколько это сложно и кто может такое осуществить? Могут ли геодезисты такую услугу оказать?
lema вне форума  
 
Непрочитано 07.09.2015, 17:26
#33
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,616


Хм, сначала нужно посмотреть что Вы понимаете под "топографическую карту автокада", потом будет видно можно ли преобразовать.

ЗЫ.
ИМХО, если Вы не собираетесь писать код, то ошиблись разделом.
Boxa вне форума  
 
Непрочитано 07.09.2015, 20:29
#34
lema


 
Регистрация: 06.09.2015
Сообщений: 13


Цитата:
Сообщение от Boxa Посмотреть сообщение
Хм, сначала нужно посмотреть что Вы понимаете под "топографическую карту автокада", потом будет видно можно ли преобразовать.
Во вложении.
Цитата:
ИМХО, если Вы не собираетесь писать код, то ошиблись разделом.
Что за код? Я не знаю о чём речь. Увидел обсуждение о преобразовании из одного в другое, на сколько я понял из растрового в векторное, вот и задал вопрос здесь, ибо в этой теме скорее всего должны находиться люди которые в "теме"(простите за каламбур) Мне же вроде тоже самое но только наоборот нужо
Я же не знаю какова данная реализация, может там (грубо говоря) пару кнопок нажать для ковертирования, просто я об этом не знаю. Для начала хотел узнать существует ли такая возможность, если да, то на сколько сложно это реализовать.
Вложения
Тип файла: dwg
DWG 2010
Ак.dwg (393.7 Кб, 727 просмотров)
lema вне форума  
 
Непрочитано 08.09.2015, 09:24
#35
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,616


Цитата:
Сообщение от lema Посмотреть сообщение
Во вложении.
Прикольно, а что должно на выходе получится, применительно к этому исходнику?

Цитата:
Сообщение от lema Посмотреть сообщение
Что за код? Я не знаю о чём речь. Увидел обсуждение о преобразовании из одного в другое, на сколько я понял из растрового в векторное, вот и задал вопрос здесь, ибо в этой теме скорее всего должны находиться люди которые в "теме"(простите за каламбур) Мне же вроде тоже самое но только наоборот нужо
Я же не знаю какова данная реализация, может там (грубо говоря) пару кнопок нажать для ковертирования, просто я об этом не знаю. Для начала хотел узнать существует ли такая возможность, если да, то на сколько сложно это реализовать.
Код- программный код на любом языке программирования.
Штатно, в автокаде, такого конвертера нет, на счет наличия такого в Civil 3D не знаю.
Так что или смотреть, что там есть в Civil 3D или писать код.

тоже самое но только наоборот -

Последний раз редактировалось Boxa, 08.09.2015 в 09:31.
Boxa вне форума  
 
Непрочитано 08.09.2015, 10:53
#36
lema


 
Регистрация: 06.09.2015
Сообщений: 13


Цитата:
Сообщение от Boxa Посмотреть сообщение
Прикольно, а что должно на выходе получится, применительно к этому исходнику?
Примерно такое:

Цитата:
Штатно, в автокаде, такого конвертера нет, на счет наличия такого в Civil 3D не знаю.
Странно, а что любые не стандартные действия в автокаде реализуются писаниной кода? Не я правда не знаю, просто привык, что к программам зачастую пишут кучи дополнений и плагинов, вот думал ну мало ли, вдруг и такое есть - работающим в автокаде виднее.
По идее данная функция должна быть полезной и восстребованой, потому как и растровые и векторные карты используются в разных продуктах.
Цитата:
Так что или смотреть, что там есть в Civil 3D или писать код.
Civil 3D - я вообще не знаю, что это. Я работаю в скетчапе и в специальной программе по ландшафту, которая понимает только растровую карту высот. Вот такая боль.
тоже самое но только наоборот - [/quote]
А что не так?
Цитата:
Код- программный код на любом языке программирования.
Ну так спецам виднее, главное чтобы спец мог что-то предложить...
lema вне форума  
 
Непрочитано 08.09.2015, 23:01
#37
lema


 
Регистрация: 06.09.2015
Сообщений: 13


Цитата:
Сообщение от Boxa Посмотреть сообщение
Прикольно, а что должно на выходе получится, применительно к этому исходнику?
То что выше я по ссылке указал
hostingkartinok.com/show-image.php?id=07148561a947f824d251e4c428457e4d
Мне не важно как это делается, меня интересует возможно ли это сделать и чего за это хотят?
lema вне форума  
 
Непрочитано 09.09.2015, 11:13
#38
trir


 
Регистрация: 18.12.2010
Сообщений: 5,115


есть в Civil 3D - "Экспорт поверхности в DEM"
trir вне форума  
 
Непрочитано 09.09.2015, 11:15
#39
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450


lema, картинку не видно.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 09.09.2015, 12:35
#40
trir


 
Регистрация: 18.12.2010
Сообщений: 5,115


Цитата:
в специальной программе по ландшафту
?

Откуда, кстати, такой план? там точки - анонимные блоки...
trir вне форума  
 
Непрочитано 09.09.2015, 13:17
#41
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,616


Цитата:
Сообщение от lema Посмотреть сообщение
что к программам зачастую пишут кучи дополнений и плагинов
Вот это я и предлагал Вам сделать, но если есть в Civil, то смысла писать нет.
Boxa вне форума  
 
Непрочитано 11.09.2015, 00:15
#42
lema


 
Регистрация: 06.09.2015
Сообщений: 13


Цитата:
Сообщение от trir Посмотреть сообщение
есть в Civil 3D - "Экспорт поверхности в DEM"
Я не знаю этой программы, т.е. Civil 3D может открыть dwg и без заморочек преобразовать вот в такую растровую карту?
Можно чуть подробней, потому что я этой программы в глаза не видел и не то что не видел, а даже не работал в подобных.
Если там нет особых сложностей, можете подсказать как правильно открыть и куда нажать чтобы преобразовать?
Установил программу и нашел инструкцию:
Цитата:
Данные поверхности можно экспортировать в файл DEM и использовать поверхность в других приложениях, поддерживающих работу с файлами данных DEM.
Такие приложения, как AutoCAD MAP 3D и AutoCAD Raster Design, поддерживают оба стандарта: USGS и GeoTIFF. Можно экспортировать все типы поверхностей AutoCAD Civil 3D, включая поверхности рельефа и поверхности для вычисления объема.
Экспорт данных поверхности в файл DEM
Откройте чертеж, содержащий поверхности, которые необходимо экспортировать в формат DEM.
Выберите поверхность. Выберите вкладку "Поверхность"панель "Инструменты поверхности"элемент "Экспорт в DEM"..
Если на чертеже имеется несколько поверхностей, и поверхность не была выбрана на предыдущем этапе, укажите на чертеже поверхность, которую необходимо экспортировать.
В диалоговом окне "Экспорт поверхности в DEM", в группе параметров "Экспорт" добавьте информацию о файле, в который выполняется экспорт: имя файла DEM, систему координат, шаг сетки и отметку.
Укажите, требуется ли использовать неопределенную отметку по умолчанию, либо задайте использование произвольного значения и введите это значение.
Нажмите "ОК".
Данные поверхности импортируются в файл DEM, хранящийся в папке, выбранной пользователем.
Файл DEM, в который выполняется экспорт, наследует координатную зону, назначенную чертежу. Если для чертежа не назначена координатная зона, ее необходимо задать.
И по первому пункту не могу найти такой вкладки "поверхность", где она?(скрин приложил)
И так же не понятно, на выходе должен образоваться файл с расширением dem? Если да, то моя программа его не поймёт, она понимает растровые картинки в обычных графических форматах типа jpg и т.д.
Миниатюры
Нажмите на изображение для увеличения
Название: скрин.jpg
Просмотров: 217
Размер:	314.4 Кб
ID:	156757  
lema вне форума  
 
Непрочитано 11.09.2015, 04:46
#43
trir


 
Регистрация: 18.12.2010
Сообщений: 5,115


1. что за программа?
2. откуда план?
Это важно!
trir вне форума  
 
Непрочитано 11.09.2015, 08:53
#44
lema


 
Регистрация: 06.09.2015
Сообщений: 13


Цитата:
Сообщение от trir Посмотреть сообщение
1. что за программа?
Real time landscaping arhitect
Цитата:
2. откуда план?
У меня такое ощущение, что я по кругу отвечаю на одни и те-же вопросы.
План в формате dwg. ну наверно он из автокада - большего я не знаю.
Цитата:
Это важно!
Почему это важно? Честно, не понимаю. Вот есть картинка jpg её нужно преобразовать в векторную, а кто-то начнёт выяснять в какой программе этот jpg создали - в чём смысл? Растровая карта высот представляет собой обычную растровую картинку, там где темные участки - это низины, там где светлые - это высоты. Можно даже самому намалевать чего нибудь и программа сбацает по этой картинке ландшафт. И картинку я выложил и сам dwg файл выложил.
Могу конфигурацию своего ПК выложить
lema вне форума  
 
Непрочитано 11.09.2015, 09:21
#45
trir


 
Регистрация: 18.12.2010
Сообщений: 5,115


1. Можно импортировать изолинии
только перенесите их, сначала, в отдельный файл
2. Этот файл получен экспортом из программы, в которой уже была полученна поверхность, а значет из неё можно получить готовую поверхность

Что бы создать поверхность, надо взорвать блоки-точки, потом выделить полученные круги и из них построить поверхность
После экспорта в DEM, можно используя GDAL, подобрать нужный формат растра

P.S.
Цитата:
Вот есть картинка jpg её нужно преобразовать в векторную, а кто-то начнёт выяснять в какой программе этот jpg создали - в чём смысл? Растровая карта высот представляет собой обычную растровую картинку, там где темные участки - это низины, там где светлые - это высоты. Можно даже самому намалевать чего нибудь и программа сбацает по этой картинке ландшафт.
можно взять лист бумаги и нарисовать на нём - зачем вам программы?
trir вне форума  
 
Непрочитано 11.09.2015, 09:56
#46
engngr

сети
 
Регистрация: 03.11.2008
Московия*
Сообщений: 5,964


https://www.youtube.com/watch?v=Bij5Cgbn4uw - где-то с 25-й минуты, пример. Ставите вместо цветных серые тона. Переводите/печатаете поверхность в таком представлении любым способом в растр.

Цитата:
Сообщение от lema Посмотреть сообщение
Меня интересует, есть ли возможность преобразовать топографическую карту автокада, в растровую карту высот?
Цитата:
Сообщение от lema Посмотреть сообщение
Можно даже самому намалевать чего нибудь и программа сбацает по этой картинке ландшафт.
Вот не ясно: вам dwg в растр или из растра нужно получить топографию в dwg?
engngr вне форума  
 
Непрочитано 11.09.2015, 10:18
#47
trir


 
Регистрация: 18.12.2010
Сообщений: 5,115


В справке проги везде пишутся футы, максимальный размер растра 1024 точек
0.3048*1024=312.1152 метра

update: Сама плотина снята паршивенько, изолиний нет - придётся самому рисовать...

Последний раз редактировалось trir, 11.09.2015 в 10:59.
trir вне форума  
 
Непрочитано 11.09.2015, 23:26
#48
lema


 
Регистрация: 06.09.2015
Сообщений: 13


Цитата:
Сообщение от trir Посмотреть сообщение
1. Можно импортировать изолинии
Похоже у меня получилось без растровой карты. Не заметил кнопку импорта изолиний в программе.
Цитата:
только перенесите их, сначала, в отдельный файл
У меня получилось по другому, в программе можно слои выбирать и мне повезло что изолинии на отдельном слое, но на будущее хотелось бы знать, как это делается?
Цитата:
Что бы создать поверхность, надо взорвать блоки-точки, потом выделить полученные круги и из них построить поверхность
После экспорта в DEM, можно используя GDAL, подобрать нужный формат растра
Понял только последние четыре слова.
Цитата:
можно взять лист бумаги и нарисовать на нём - зачем вам программы?
Это шутка? Просто без смайлика не понятно. Между прочим, раньше приходилось рисовать на бумаге целые художества, было затратно по времени и клиентура не ценила, люди хотят виртуальную реальность своего поместья
Скажите лучше как измерить в Civil 3D расстояние от одной точки до другой, а то как назло ни одного размера на чертеже, хочу проверить правильность масштаба при переносе.
Цитата:
Сообщение от engngr Посмотреть сообщение
https://www.youtube.com/watch?v=Bij5Cgbn4uw - где-то с 25-й минуты, пример. Ставите вместо цветных серые тона. Переводите/печатаете поверхность в таком представлении любым способом в растр.
Больно сложно и не понятно, потому как английский и программы не знаю, вижу что что-то делает, и получает результат, но логику телодвижений уловить не могу. Да и не понятно при переводе цветного в градации серого, будут ли высоты всегда светлее низин.
Цитата:
Вот не ясно: вам dwg в растр или из растра нужно получить топографию в dwg?
Нужно было из dwg в растр. Но похоже получилось всё вынуть из dwg
Цитата:
В справке проги везде пишутся футы, максимальный размер растра 1024 точек
0.3048*1024=312.1152 метра
Намекаете, что мой чертёж всё равно бы не влез в растр?
Цитата:
Сама плотина снята паршивенько, изолиний нет - придётся самому рисовать...
На плотину мне плевать, только ландшафт интересует, всё что касается построек, делаю непосредственно в этой программе или вообще моделирую отдельно. Честно говоря, плотина на постройку ни как не тянет, судя по всему она такая, типа насыпи, но по крайней мере довольно прямолинейна, а вот изолинии я бы точно руками не отрисовал, точнее отрисовал бы, но по высотам вряд ли смог бы поднять. Короче в автокаде или в civil я плотину точно не нарисую.
lema вне форума  
 
Непрочитано 12.09.2015, 07:23
#49
trir


 
Регистрация: 18.12.2010
Сообщений: 5,115


Цитата:
измерить в Civil 3D расстояние от одной точки до другой
нарисуйте линию и посмотрите её длину, только следите за координатой z
trir вне форума  
 
Непрочитано 12.09.2015, 21:22
#50
lema


 
Регистрация: 06.09.2015
Сообщений: 13


Цитата:
Сообщение от trir Посмотреть сообщение
нарисуйте линию и посмотрите её длину, только следите за координатой z
Я не знаю как её рисовать, смотрю так сказать в программу и вижу фигу
lema вне форума  
 
Непрочитано 12.09.2015, 21:23
#51
trir


 
Регистрация: 18.12.2010
Сообщений: 5,115


_line
trir вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Построение цифровой модели рельефа по растровой карте



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Цифровая модель рельефа и построение горизонталей D1mkaM Прочее. Отраслевые разделы 14 13.10.2010 10:17
Построение видов модели pm_86 AutoCAD 7 27.09.2009 20:58
MapInfo Создание цифровой модели рельефа kartography Вертикальные решения на базе AutoCAD 5 14.07.2009 06:31
Построение трехмерной модели жилого массива Alexeychiк Другие CAD системы 3 24.02.2009 20:17
SCAD и очистка цифровой модели EUDGEN SCAD 4 09.01.2006 08:47