Аналитика

Цифровая фотограмметрия, картография и землеустройство
Текущее время: 28 мар 2024 17:19

Часовой пояс: UTC + 2 часа




Начать новую тему Ответить на тему  [ Сообщений: 134 ]  На страницу Пред.  1 ... 4, 5, 6, 7, 8, 9  След.
Автор Сообщение
 Заголовок сообщения: Re: FAQ для опытных пользователей (секреты)
СообщениеДобавлено: 16 авг 2012 14:29 
Гуру
Гуру

Зарегистрирован:
26 фев 2007 12:04
Сообщения: 1751
Откуда: Vinnitsa
Цитата:
Хм. На мой взгляд устройство вывода ни при чём.
Подпись, очевидно, представляет собой векторный объект со своим "размахом", который не зависит от размера шрифта.
При редактировании пользователь как раз может менять этот "размах", а текст подгоняется программой автоматически. Возможно текст представлен в виде path. В общем, текст не привязан к устройству вывода, он такой же векторный объект как нарисованная пользователем линия или условный знак.


Нет, не верно. Прав был Дмитрий Федоров. Инфа о разрешении устройства вывода необходима для правильного отображения подписей и расчета масштаба отображения карты. В Digitals для этого даже предусмотрена настройка Диагональ экрана, так как Windows часто возвращает неточные значения разрешения для устройств вывода.

Размах подписи в пикселях расчитывается для текущего масштаба отображения и текущего контекста вывода через, уже упоминавшуюся, API функцию GetTextExtentPoint32. Предварительно определяется высота текста для данного масштаба отображения и в контекст выбирается нужный GDI фонт.

Подписи не векторные - используется уже устаревший графический движок GDI.

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: FAQ для опытных пользователей (секреты)
СообщениеДобавлено: 16 авг 2012 18:07 
Участник
Участник

Зарегистрирован:
14 авг 2012 12:30
Сообщения: 7
Откуда: г.Воронеж
Bondarets Alexander писал(а):
Подписи не векторные - используется уже устаревший графический движок GDI.

Ясно. Я в аналогичной задаче перегонял текст в path и далее масштабировал уже его.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: FAQ для опытных пользователей (секреты)
СообщениеДобавлено: 16 авг 2012 18:16 
Участник
Участник

Зарегистрирован:
14 авг 2012 12:30
Сообщения: 7
Откуда: г.Воронеж
Dmitriy Fedorov писал(а):
Насколько я понимаю, дигиталом вы не пользовались, а просто решаете задачу какого-то специфического экспорта из формата DMF.
Верно. Я программист, а Digitals есть под рукой только чтобы посмотреть как в нём то и сё.
Цитата:
Не гарантирую на 100% (а разработчики пока молчат :) ), но подход видимо следующий: вычислить размах подписи в пунктах с помощью, скажем, GetTextExtentPoint32 и перевести в мм. Получившийся размах и будет размахом в метрах по принципу в 1мм = 1м.
Спасибо большое и даже огромное!


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: FAQ для опытных пользователей (секреты)
СообщениеДобавлено: 28 фев 2013 17:09 
Гуру
Гуру

Зарегистрирован:
26 фев 2007 12:04
Сообщения: 1751
Откуда: Vinnitsa
Создание датума для местной СК без связующих точек

Предположим у вас имеются такие параметры местной СК:

X = 5500000
Y = 10000
Осевой меридиан = 27 гр
Местная СК основана на СК63

Итак, что же у нас есть. Очевидно, что

X - это FalseNorth
Y - это FalseEast

если система основана на СК63, значит используется эллипсоид Красовского и ширина зоны 3 гр. Составляем датум:

[Какая-то-там-местная-СК]
a=6378245
f=298.3
Scale=1.0
FalseEast=-10000
FalseNorth=-5500000
PrimeMeridian=25.5
ZoneSize=3
Helmert=25.0 -141 -78.5 0.0 -0.35 -0.736 0.0


Как мы помним, в Digitals преобразование координат идет от общего знаменателя - WGS84. При этом выполняются следующие действия:

1. Применяются коэф. Хельмерта (параметр Helmert) для перехода на эллипсоид Красовского (если переход происходит из СК на этом же эллипсоиде, то данный этап опускается).

2. Находятся прямоугольные координаты точки в декартовой системе координат, где осевой меридиан (PrimeMeridian + ZoneSize/2) задает ось X, а экватор ось Y.

3. К полученным координатам прибавляется FalseEast и FalseNorth.

На выходе получаем координаты в местной СК.

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: FAQ для опытных пользователей (секреты)
СообщениеДобавлено: 10 июл 2013 14:20 
Гуру
Гуру

Зарегистрирован:
26 фев 2007 12:04
Сообщения: 1751
Откуда: Vinnitsa
Локальная коррекция сетки

ЦМР>Локальная коррекция сетки давняя команда, но мало кто ее использует. А между тем функция очень полезна при редактировании регулярной сетки, построенной автоматическим способом.

Как известно, автоматические алгоритмы построения модели рельефа по стереоснимкам часто допускают ошибки на участках с деревьями, кустами, небольшими зданиями. Такие ошибки выражаются в локальных искажениях сетки в виде выступов. Тут и пригодится команда ЦМР>Локальная коррекция сетки, позволяющая корректировать высоту группы точек.

Достаточно в режиме стереосбора в центре выступа навестись на правильную высоту, зарегистрировать точечный объект и выполнить указанную команду. Высота точек ЦМР вокруг зарегистрированного пикета будет скорректирована методом квадратичной интерполяции.

Данная функция требует помеченный опорный объект с правильной высотой (пикет) и помеченную сетку ЦМР для которой выполняется коррекция. Если сетку не помечать, будет найден первый объект в карте с типом слоя Сетка ЦМР.

Чтобы собранный опорный объект оставался помеченный после завершения сбора, включите Сервис>Настройки>Сбор>Помечать собранный объект.

Радиус локальной коррекции сетки задается в метрах в Сервис>Настройки>Главная>Константы>LocalDEMDistance. Если указано значение 0, тогда радиус рассчитывается как удвоенный шаг сетки ЦМР.

В прикрепленном файле пример ЦМР и слой Коррекция ЦМР, содержащий скрипт
Код:
%Events.OnCollect
$N=@EventObject
@Map.SelectObject $N
ЦМР | Локальная коррекция сетки
@Map.DeleteObject $N
Скрипт запускается по окончанию сбора объекта в слое Коррекция ЦМР, выполняет локальную коррекцию в данном месте и удаляет опорный объект.


Вложения:
Комментарий к файлу: Пример скрипта для локальной коррекции ЦМР
LocalDEMCorrection.dmf [58.33 Кб]
Скачиваний: 1061

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: FAQ для опытных пользователей (секреты)
СообщениеДобавлено: 13 дек 2013 20:49 
Специалист
Специалист

Зарегистрирован:
10 янв 2010 12:05
Сообщения: 32
Откуда: Винницкая обл.
Добрый день. У меня возникла следующая проблема. Есть файл .dmf, много слоев. При предварительном просмотре картинка корректная , все слои на местах. При печати некоторые слои печатаются в другом масштабе, значительно крупнее. Пробовал на плотере и разных принтерах. картина одинаковая. Где можно посмотреть, что исправить? Спасибо за ответ.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: FAQ для опытных пользователей (секреты)
СообщениеДобавлено: 16 дек 2013 16:41 
Гуру
Гуру

Зарегистрирован:
26 фев 2007 12:04
Сообщения: 1751
Откуда: Vinnitsa
Трудно сказать, в чем причина. Возможно в карте имеются объекты, вставленные в другом масштабе. Можете приложить или отправить почтой DMF с фрагментом вашей карты?

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: FAQ для опытных пользователей (секреты)
СообщениеДобавлено: 16 дек 2013 16:45 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
05 апр 2008 03:14
Сообщения: 202
Откуда: Тернополь
Ребята поравте все таки сортировку в XML по полям, в окнах выбора юр. и физ. лиц, она там не работает.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Чтение DMF-файлов
СообщениеДобавлено: 30 янв 2014 18:08 
Участник
Участник

Зарегистрирован:
27 авг 2010 12:35
Сообщения: 8
Sergey Oleynik писал(а):
Кто может дать или подсказать где взять описание формата файла DMF?

Последнее описание можно взять здесь:
http://www.vingeo.com/update/rus/DMF.doc

Имейте в виду, что это описание применимо только для версии формата без сжатия (в сигнатуре файла нет символа "C").
Отключить сжатие можно в настройках Ged Сервис|Настройки|Запись.

Исходный Delphi-текст процедуры загрузки DMF файлов http://www.geosystema.net/samples/LoadDMF.pas

Чи не могли б ви детальніше роз'яснити суть параметра MinService, який є в заголовках списку шарів і списку параметрів. В описі читаю:
Цитата:
MinService - Integer - Номер первого служебного элемента в списке слоев имеющий отрицательное значение (-10), служебные слои нумеруются от MinService до 0.

А нижче:
Цитата:
Непосредственно за заголовком следуют элементы списка слоев в количестве Count-MinService.

В мене у всіх дмф файлах MinService = 1. Але кількість шарів в списку завжди більша за (Count-1) і дорівнює Count + 4 службові шари (з індексами -3, -2, -1, 0).

Я написав на основі вашого прикладу свою процедуру завантаження файлів DMF і встановив MinService = -3 - для списку шарів і MinService = -10 - для списку параметрів. Таким чином зчитую коректно, але це видається мені костилем і хотілося б знати що і на основі чого повертає функція з вашого прикладу GetMinLayer, яка встановлює значення MinService.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FAQ для опытных пользователей (секреты)
СообщениеДобавлено: 30 янв 2014 18:51 
Гуру
Гуру

Зарегистрирован:
04 дек 2004 19:41
Сообщения: 1035
Откуда: г. Харьков
Bohdan29 писал(а):
написав на основі вашого прикладу свою процедуру завантаження файлів DMF і встановив MinService = -3 - для списку шарів і MinService = -10 - для списку параметрів.

Если вы запускали Digitals и заглядывали в Менеджер параметров или слоев, то именно столько служебных слоев/параметров там и содержится и их число не менялось уже долгое время, так что можете вполне положиться на эти значения. Хотя все равно странно, что в ваших файлах MinService=1, мне такие не попадались.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: FAQ для опытных пользователей (секреты)
СообщениеДобавлено: 30 янв 2014 21:35 
Гуру
Гуру

Зарегистрирован:
02 апр 2013 15:28
Сообщения: 177
Доброго..,!!
Як додати в XMLNormal.dmf в "Код адміністративно -територіальних утворень" випадаючий список щоб вибравши відповідний КОАТУУ адреса (Такато сільська рада) автоматично вписувалась в графу адреса. І при виборі комунальної форми власності автоматично прописувався власник і ЕРДПОУ (сільська рада і її код, адреса та ін...) і Інфо про власника

Дякую

П.С. Основне питання - це як додати випадаючий список (так як в категорії земель, або в цільовому) в будь якому полі вводу


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: FAQ для опытных пользователей (секреты)
СообщениеДобавлено: 31 янв 2014 01:16 
Участник
Участник

Зарегистрирован:
27 авг 2010 12:35
Сообщения: 8
Dmitriy Fedorov писал(а):
Если вы запускали Digitals и заглядывали в Менеджер параметров или слоев, то именно столько служебных слоев/параметров там и содержится и их число не менялось уже долгое время, так что можете вполне положиться на эти значения. Хотя все равно странно, что в ваших файлах MinService=1, мне такие не попадались.
Дякую. В мене до вас ще одне запитання. Заголовок списку шарів успішно зчитується у таку структуру (взято з прикладу - і структуру, і спосіб зчитування):
Код:
  TDMFLayerHeader=packed record
    Size:integer;
    Status:integer;
    Count:integer;
    MinService:integer;
    Reserve:Byte;
    Empty:integer;
  end;
Поле Count показує актуальну кількість шарів (не службових), а MinService - чомусь завжди 1. До того ж список полів цієї структури відрізняється від списку в описі файла (не та послідовність і кількість). Те саме зчитується за допомогою цього коду: viewtopic.php?p=13296#13296
Я до чого це все веду: між тим прикладом завантаження DMF-файлу і описом його структури є розбіжності. Чи можливо таке, що опис неточний чи неповний? І якщо так, то чи можна розраховувати на оновлений опис формату DMF-файла? Наперед вдячний за відповідь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FAQ для опытных пользователей (секреты)
СообщениеДобавлено: 31 янв 2014 12:59 
Гуру
Гуру

Зарегистрирован:
04 дек 2004 19:41
Сообщения: 1035
Откуда: г. Харьков
Bohdan29 писал(а):
Заголовок списку шарів успішно зчитується у таку структуру... Поле Count показує актуальну кількість шарів (не службових)... список полів цієї структури відрізняється від списку в описі файла...

То, что успешно считывается - не удивительно. И в коде и в описании размер структуры 5*Integer + 1*Byte. И что Count верный, тоже понятно - в обоих случаях он является третьим Integer.
Оба примера далеки от состояния "бери и пользуйся", к тому же второй базируется на первом (отталкивается от тех же структур). Советую сделать как в описании и проанализировать прочитанное.
Bohdan29 писал(а):
Чи можливо таке, що опис неточний чи неповний?

Думаю, что точный в достаточной степени. Но однозначно не полный, например, нет никаких сведений об описании таких объектов как таблицы. Тем не менее, эти сведения есть в примерах кода. А на обновленное описание я бы сильно не рассчитывал.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: FAQ для опытных пользователей (секреты)
СообщениеДобавлено: 01 фев 2014 14:01 
Участник
Участник

Зарегистрирован:
27 авг 2010 12:35
Сообщения: 8
Dmitriy Fedorov писал(а):
То, что успешно считывается - не удивительно. И в коде и в описании размер структуры 5*Integer + 1*Byte. И что Count верный, тоже понятно - в обоих случаях он является третьим Integer.
Пробачте, але де тут розмір структури одинаковий? Ось що в описі (скрін з файла DMF.doc):
Изображение

Тут 4*Integer + 1*Byte - розмір структури 17 байт, відсутнє поле Empty, а поле Count - друге в списку. На практиці ж розмір структури 21 байт. Тому я й написав про неточний опис.
Щодо неповноти опису таблиць і іншого, то я з вами згідний - на прикладі можна розібратись. Я на прикладі майже розібрався і з тим заголовком списку шарів, але тут мова вже не про неповноту опису, а про його помилку. І, можливо, саме через цю помилку я не можу зчитати правильного значення поля MinService - про що, власне, і було моє перше питання.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FAQ для опытных пользователей (секреты)
СообщениеДобавлено: 01 фев 2014 16:27 
Гуру
Гуру

Зарегистрирован:
04 дек 2004 19:41
Сообщения: 1035
Откуда: г. Харьков
Bohdan29 писал(а):
Пробачте, але де тут розмір структури одинаковий? Ось що в описі (скрін з файла DMF.doc):

Похоже, описание все-таки отличается. Скачайте дистрибутив, в папке Doc найдете другой вариант.


Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 134 ]  На страницу Пред.  1 ... 4, 5, 6, 7, 8, 9  След.

Часовой пояс: UTC + 2 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB