В старых версиях можно создать отчет “простой список” выбрать координиты X и Y, сохранить в dat формате и открыть в Дигиталсе, получим точки в центроидах выделенных обьектов, как полигонов, так и полилиний.
Есть необходимость отдать заказчику файл dmf.
Но не хочеться что б он имел доступ к такой информации:
- Свойства обьекта с катклогом координат
1.1 Координаты (и в отчетах соответсвенно)
1.2 Размеры и углы - В нижнем правом углу чтоб не было отображения координат курсора
- Чтоб отсутвовала возможность вставлять обьекты
Заказчик при этом может посмотреть площадь участки и все остальные не системные атрибуты
Это можно например использовать в случае передачи формуваннь населених пунктів сельським головам для вычисления налога на землю.
При этом возможность просмотра лишней информации должна отсутствовать.
Жду с нетерпением на ответ.
Предлагаю в Карта|Свойства атрибут доступа к карте додать опцию “Режим просмотра без права получения геодез. информации”
![]()
А не проще ли сделать координаты условными (см. Карта|Система координат)? Как исходную, задаем любую реальную координату в пределах текущей карты, а как новую задаем, к примеру, точку (0,0). Все! Координаты искажены, а длины линий и площади остались такими же.
Насчет того, чтобы нельзя было определить размеры и углы - это уж слишком! Все очень просто: прикладываем транспортир к монитору - и есть угол! Как его спрятать? Размеры тоже вычисляются, если приложить линейку к монитору и вычислить через масштаб…
Может проще передавать голую базу данных? Типа:
Иванов - 5 га, адрес, паспорт и т.п.
Петров - 4 га…
Получаеться узнал координаты одной точки в условной системе и можеш перевести любой участок из условной в реальную.
По болшьшому счету можно и прит-скрин зделать, зачем так мучаться
. Но транспортиром и линейкой точности до 1 кв.м. не достичь. Координаты будут +/- 0.5м. Часик а то и полтора надо будет повозиться чтоб определить координаты одного участка. У нас такое не прокатит. Будет видно что старый участок в базе ДЗК не совпадает с новым.
А насчет масштаба так я вот не знаю как можно его на мониторе определить - он же как вроде относительный. Приблизил, откатил… Тут же нету опции Вид 1:1.
Тепер конкретно по ситуации.
Зделали мы инвентаризацию всего населенного пункта, участков 350 этак. Отдаем на подпись сельському голове. А он модный имеет комп в бугалтерии с Win XP. И говорит мне б электронную версию, а то не подпишу.
Не хочеться портить отношений с головой. Но и информацией тоже делиться не хочеться. Конкуренты не утратят возможности воспользоваться. А может и сельголова свою контору открыть захочет.
А перспектива такая. Рано или позно такая инфа по нас. пункту должна в электронном виде быть у сельськоих голов. Для учета земельных угодий и для подсчета налога на землю. Расчета нормативной, а может в последствии и экспертной оценки. Обслуживать базу будет естественно разроботчик, за что будет получать время от времени свой незначительный ганорар. И сельському голове приятно - какая-то копейка за нормативную или экспертную оценку + деньги в месный бюджет за счет полного учета налогоплательщиков за землю. И разработчику хорошо + он спокойно спит, зная что его информацию не “сопрут”.
Учет у сел. головы необходим
Это гарантия (при хороших налаженых отношения с сел. головой) что вся робота по данному населеному пункту будет приходить к тебе. А тут постоянные заказы.
Может кто поддержит или наоборот…?
Може голова еще с теодолитом или GPS будет бегать?
Мне кажется это уже из разряда научной фатастики…
Но есть еще вариант. Систему координат можно не толко сместить, но и развернуть: для этого задаем уже не одну, а две точки, при чем так, чтобы они образовывали разные дирекционные углы, но главное не перестараться, чтобы карту не сильно развернуло.
Но это еще не все. После этого можно все пометить, вырезать, а потом использовать Правка|Специальная вставка|В другом масштабе. Особенность этой команды в том, что координаты изменяются, а вот периметр и площадь - остаются такими же, как и были!
Но остается открытым вопрос: а подпишет ли в таком случае голова документы???
Не вариант.
А вот это вот вариант. Думаю он не догадаеться по двум и более точкам переводить
Главное самому навсякий случай ключ перевода где-то черкнуть. Если обновлять прийдеться.
Голове главное картинка, так что думаю подпишет.
Хотя я думал, что ламать не строить… ![]()
Но эт пока на даном этапе тоже вариант, если эту операцию не часто проделывать надобно.
А вот еще вариант.
Запрашиваемые функции разработчики добавят (курсора не видно, отчет с координатами запрещен и т.д.), а у головы найдется умная голова (простите за тавтологию), которая выкачает из нета более старую версию дигитала, где все эти вещи запросто обходятся. И все усилия насмарку..
Может проще передать картинку в растре? Или в каком-нибудь PDF’е?
Не знал
.
Т.е. получаеться атрибуты доступа к карте которые уже функцианируют тоже щас до одного места ![]()
А вообще насколько я понимаю т.к. структура файла dmf открыта, а значит по большому счету любой может написать прогу импорта dmf файла даже не имее на компе дистрибутива Диджиталс. А все эти атрибуты доступа проста этакая пыль в глаза для неопытных пользователей???
Я поступлю по совету вашего предыдущего поста. ![]()
Мне кажется стоит заказать разработчикам компонент для Делфи который бы отображал формат .dmf, .IN4 и позволял создавать свой интерфейс для просмотра, редактирования, печати и.т.д..
Дальше создаёшь свою программу, файл можно как ресурс добавить к программе что бы изменить нельзя было и отдаёшь заказчику.
В мире аналоги есть например MapX к программе MapInfo.
Это не так: атрибуты доступа существуют очень давно и поэтому работают и в старых версиях. Другое дело - недавно добавленные атрибуты или те, которые будут добавлены позже…
Но не надо забывать, что в старых версиях могут отсутствовать новые функции и некоторые элементы на карте, а значит не вся информация будет отображаться или если будет и отображаться, то не полностью.
Тут тоже есть оговорка. Все это справедливо, если отключено DMF сжатие.
Ребята пароли и уровни доступа на данный момент очень просто обходятся и не советую ими пользоваться и отдавать комуто свою работу надеясь на эту защиту!
Самый трудоемкий метод используйте “Сервер команд TCP”!
Не напрягайте разработчиков добавлением новых “атрибутов доступа” это не решает проблему!
Наверно создание компонента на данный момент довольно сложно!?
Есть другой вариант:
Создать компилятор дигиталса с визардом в котором можно указать:
1.Встроить карту из файла
2.Разрешить использовать “сервер команд TCP” приложениям…
3.Разрешить правку слоя …
4.Разрешить создавать и сохранять свои слои и параметры
и.т.д.
Если создание такого компилятора возможно, то можно обсудить параметры в отдельной теме!
Слово за разработчиками!
Зачем это нужно?
Хочется на базе дигиталса создавать подобные проекты!
http://www.a-info.ru/
http://www.mogilevinfo.com
http://map.east.kz/
Теперь по теме!
Возможно добавить пару функций?
Есть функция SelectTab TabIndex, добавить TabWidth Wigth, где
0-панель не видно, 1-ширина 1/3 экрана, 2-1/2 экрана, 3-2/3 экрана.
На данный момент команды Map.GetObject и Map.GetObjectCoordinates возвращают координаты с точностью 2 знака, можно добавить функцию Map.GetObjFulCoordinates, которая вернет координаты с точностью как при вызове свойств обьекта!
Очень надо!
Создаю базу данных “каталог координат” связанную с дигиталс по TCP, координаты пунктов в СК42, СК63, WGS84, УСК2000, при вызове базы делается проверка не изменялись ли координаты ели да то востонавливаем из базы но в базе 6 знаков после запятой а команды дают 2!
В MSSQL в BLOB координаты нормальные но я использую SQLite из за простоты переноса клиенту.
Извиняюсь за задержку. Отпуска…
Map.GetObject и Map.GetObjectCoordinates теперь возвращают количество знаков в соответствии с текущими установками (как при вызове свойств объекта).
Добавлена функция TabWidth в качестве параметра которой нужно указывать желаемую ширину правой панели в пикселях или процентах от ширины экрана.
Примеры:
TabWidth 300 - установит ширину 300 пикселей
TabWidth 25% - установит ширину в четверть экрана
TabWidth - (без параметра) установит ширину по умолчанию (250 пикселей).
Спасибо ![]()
Но есть ещё просьба:
- добавить функцию Version, которая вернет версию сервера команд TCP/IP, если возможно просто цифрой (проще делать проверку для нових команд).
2.Добавить Map.SelList вернет список из ObjectNumber выделенных обьектов. При большом количестве обьектов комбинация Map.SelCount, Map.NextSelected работает долго. - Возможно не заметилиhttp://www.refland.kiev.ua/forum/viewtopic.php?t=103
И хотелось узнать мнение разработчиков на сообщение:
[url]Запрос на функцию - #32 від Volod]
Функция Version добавлена. Возвращает дату билда программы в формате TDateTime, т.е. как число дней, прошедших от Рождества Христова. Так, например, сегодняшняя версия имеет “номер” 38923.
Но, вообще говоря, для более надежной проверки совместимости лучше использовать команду HELP. Программа при запуске должна выдать HELP, получить список всех поддерживаемых функций и убедиться, что необходимые функции присутствуют в списке.
Добавлена функция Map.Selected.List, которая возвражает номера всех помеченных объектов, каждый в отдельной строке, например:
1
3
7
Если помеченных объектов нет, то функция вернет ноль.
Спасибо, особенно за “HELP”, не пришло в голову:)
Давайте теперь, про “компилятор”.
Я правильно понимаю, что создав карту вы хотите распространять ее не в виде DMF файла, а в виде екзешника, который бы в одном файле включал бы в себя и Digitals (скорее всего бесплатный DIB.exe) и карту?
Причем возможные действия с картой должны быть ограничены на этапе “компиляции” и пользователь в дальнейшем не должен иметь возможности их изменить (обойти)? Т.е. карта в виде исходного DMF-файла должна быть ему недоступна.
Тогда непонятно, как пользователь сможет “создавать и сохранять свои слои и параметры и.т.д.”?
Никакая это не пыль
, поскольку DMF-файл защищенный паролем открытому формату уже не соответсвует. То что Digitals открывает оба формата “не чувствуя” разницы, не должно вводить вас в заблуждение. На самом деле разница во внутренней структуре есть и довольно существенная. Кроме того, как уже отмечалось, описание DMF подходит только к несжатой версии формата.
Другое дело, что опытные пользователи знают всякие уловки, позволяющие избавится от парольной защиты. Это встречается. Но правда защищают то обычно не от них, а от головы, пожарника, миллиционера и т.д. ![]()
Тогда непонятно, как пользователь сможет “создавать и сохранять свои слои и параметры и.т.д.”?
Похожий вариант есть в дигиталс Вставка|Внедренная карта .
Новая команда Вставка|Внедренная карта позволяет открывать в окне с картой смежные карты из внешних файлов. При этом не происходит добавление объектов в текущую карту.
При изменении объектов из внедренной карты они будут сохранены в свой “родной” файл (при операции сохранения основной карты).
Встроенная в exe карта выступает в роле внедренной но без возможности сохранения (пускай меняют все равно сохранить, скопировать нельзя, быстро надоест:)) а созданные слои и параметры сохраняются во внешний файл.
Скомпилированный проект однооконное приложение, пересчет координат и другие пункты меню можно отключить в процессе компиляции.
Так как сервер команд TCP/IP единственный вариант для расширения возможностей в частности подключение внешней базы данных, специфических отчетов и.т.д. то он нужен, но возможно стоит добавить команду идентификации подключаемого приложения или пароль доступа к серверу команд задаваемый при компиляции.
Да чуть не забыл возможность подключения своих HELP файлов.
Вот приблизительно как мне это видится.
С нетерпением жду ответа!