Аналитика
http://www.geosystema.net/forum/

Запрос на функцию
http://www.geosystema.net/forum/viewtopic.php?f=1&t=49
Страница 40 из 92

Автор:  Dmitry_Zolotar [ 20 июл 2012 11:16 ]
Заголовок сообщения:  Re: Запрос на функцию

ZapadloV писал(а):
Подскажите как правильно прописать скрипт в создаваемой кнопке, функция которой заключается извлечь участки из ИН4 и сохранить его в указанную папку , но с одной оговоркой имя файла присвоить не по кадастровому номеру, а с параметра NM. Заранее благодарен. И прошу прощения если темой ошибся

Скрипт помечает все ин4-участки(ID слоя - 20000) в единственной!!! открытой карте. Затем извлекает все участки в ин4 и сохраняет в папку D:\ExtractedIn4 с именем файла из параметра NM(ID20030) и закрывает эти файлы.
P.S. Параметр NM может содержать символы(например "|"), которые недопустимо использовать в качестве имени файла. Также параметр NM может быть не уникален, что приведет к затиранию некоторых файлов с участками одного собственника.

Автор:  voha [ 20 июл 2012 11:45 ]
Заголовок сообщения:  Re: Запрос на функцию

В тему функції @Dialog.Ask Text [Default=Value].
Шкода, що діалогове вікно вводу інформації не дозволяє відобразити значення параметра Text в повному обсязі :!: . Ширина цього вікна не змінюється динамічно, залежно від довжини параметра Text. Навіть, якщо в значенні параметра застосувати знак переносу на інший рядок | - висота діалогового вікна також лишається сталою, та відображається лише перший рядок.

Такий прикрий факт не дозволяє дати у вікні мінімальні пояснення що-до введення даних в ході виконання скрипта. Хочу просити розробників, за можливості, виправити цю "халепу" :)

Автор:  ZapadloV [ 23 июл 2012 08:59 ]
Заголовок сообщения:  Re: Запрос на функцию

Спасибо огромное за скрипт, очень помог. Появился ещё один вопрос, нужно более 5000 файлов проклацать и сделать их по часовой стрелке и назначить в слое ділянкаIN4 первой точку в участке, которая находится с лева в верху. Возможно ли облегчить нашу участь

Автор:  Sergey Oleynik [ 23 июл 2012 15:09 ]
Заголовок сообщения:  Re: Запрос на функцию

voha писал(а):
В тему функції @Dialog.Ask Text [Default=Value Size=Value].
Шкода, що діалогове вікно вводу інформації не дозволяє відобразити значення параметра Text в повному обсязі :!: . Ширина цього вікна не змінюється динамічно, залежно від довжини параметра Text. Навіть, якщо в значенні параметра застосувати знак переносу на інший рядок | - висота діалогового вікна також лишається сталою, та відображається лише перший рядок.

Такий прикрий факт не дозволяє дати у вікні мінімальні пояснення що-до введення даних в ході виконання скрипта. Хочу просити розробників, за можливості, виправити цю "халепу" :)

Добавлен перенос на следующую строку символом |. Теперь также можно изменять ширину окна диалога, указав в конце строки ключевое слово Size=, например Size=250. Стандартный размер окна - 180.

Автор:  voha [ 23 июл 2012 21:58 ]
Заголовок сообщения:  Re: Запрос на функцию

Sergey Oleynik писал(а):
Добавлен перенос на следующую строку символом |

Чемно дякую за підтримку.

Автор:  paul [ 24 июл 2012 06:27 ]
Заголовок сообщения:  Re: Запрос на функцию

ZapadloV писал(а):
...нужно более 5000 файлов проклацать и сделать их по часовой стрелке...

Вставляете в карту Ваши "обменники" (Вставка|Карта), помечаете все участки (угодия, кварталы) и жмете часики на вкладке Правка. Все помеченные будут исправлены (по часовой стрелке). Затем нужно скриптом пересохранить все обменные файлы. Советую не пробовать сразу с 5000 файлов, разбейте их на порции.
Насчет левой верхней точки... Вероятно поможет какой-нибудь хитрый скрипт. Но будет-ли он устойчиво работать, ведь конфигурация участков разная.:?

Автор:  ZapadloV [ 24 июл 2012 20:21 ]
Заголовок сообщения:  Re: Запрос на функцию

На счёт по часовой стрелки придумал чуть проще через скрип, но единственно выскакивает на каждом файле окно "изменено "количество" " подскажите как с ним боротся. Пример скрипта :
$Filter=*.in4
$F=@Dialog.SelectFolder Укажите папку с картами
@Text.FolderList $Filter $F
$C=@Text.Count
@If $C=0 @Break В папке "$F" отсутствуют файлы $Filter
$I=0
%Start
$I=$I+1
@If $I>$C then @Break
$F=@Text.Line[$I]
@FileOpen $F
$F=@Map.ClearFilename
Пометить | Все
[ Операции с объектами.По часовой стрелке ]
@Map.SaveToFile $F.in4
@CloseMap
@Goto %Start
;


а вот на счёт начальной точки в нужном углу участка проблема, где б достать этот хитроватый скрипт. Есть только одна маленькая зацепка, отслеживал по участкам, что там где в участке максимальное значение Х . там и надо начальную точку, как это прописать в скрипте не могу придумать, подскажите.

Автор:  Dmitry_Zolotar [ 25 июл 2012 07:49 ]
Заголовок сообщения:  Re: Запрос на функцию

ZapadloV писал(а):
... выскакивает на каждом файле окно "изменено "количество" " подскажите как с ним боротся.

...
Пометить | Все
@SendChars <CR>
[ Операции с объектами.По часовой стрелке ]
...

ZapadloV писал(а):
а вот на счёт начальной точки в нужном углу участка проблема, где б достать этот хитроватый скрипт. Есть только одна маленькая зацепка, отслеживал по участкам, что там где в участке максимальное значение Х . там и надо начальную точку, как это прописать в скрипте не могу придумать, подскажите.

максимальное значение Х - самая верхняя точка, а вот к "левому верхнему углу" ближе всего точка, у которой разница координат (X-Y) максимальна.

Автор:  ZapadloV [ 25 июл 2012 08:03 ]
Заголовок сообщения:  Re: Запрос на функцию

Спасибо Dmitry_Zolotar.
Нас устраивает и верхняя точка (тоесть максимум по Х), смежники на кадастровом плане в основном будут правильно начинать своё начало

Автор:  _Pavel_ [ 25 июл 2012 08:59 ]
Заголовок сообщения:  Задержка выполнения команд

Каким образом можно реализовать задержку (например на 1 сек) перед выполнением определенной команды в скрипте?

Автор:  Dmitry_Zolotar [ 25 июл 2012 09:45 ]
Заголовок сообщения:  Re: Запрос на функцию

_Pavel_ писал(а):
Каким образом можно реализовать задержку (например на 1 сек) перед выполнением определенной команды в скрипте?

@Wait IntervalMS

Автор:  _Pavel_ [ 25 июл 2012 11:52 ]
Заголовок сообщения:  Re: Запрос на функцию

Dmitry_Zolotar писал(а):
_Pavel_ писал(а):
Каким образом можно реализовать задержку (например на 1 сек) перед выполнением определенной команды в скрипте?

@Wait IntervalMS


Спасибо

Автор:  voha [ 25 июл 2012 15:11 ]
Заголовок сообщения:  Re: Запрос на функцию

Ознайомтесь, будь-ласка, Поиск подстроки по нескольким фрагментам. Тоді скрипт:
Код:
$CN=@Dialog.Ask Фраза, що міститься в параметрі:
@Map.FindByParameters 1|SC~$CN; для кращої ідентифікації бажано набрати початкову, або кінцеву, або і ту і другу кому (бачу у Вас кома розділювач)
$S=@Map.SelCount
@If $S>0 @Goto %Show
@If $S=0 @Break Ділянка що містить|$CN|не знайдена
%Show:
@Window.ShowSelected
Як на мене, використати підстановочні знаки * та ? в масці пошуку Вам не вдасться :?, а було б не погано :?:

Автор:  voha [ 27 июл 2012 07:24 ]
Заголовок сообщения:  Re: Запрос на функцию

Є скрипт, який має на меті одним кліком пера (на сенсорному моніторі), перетягнути найблищу до кліка вершину найблищого до кліка полігона
Код:
;Переводим карту в режим збору, активуєм шар збору - точковий об'єкт, на місце якого має переміститись вершина полігону найблища від точкового об'єкта ($NomTochPrav)
@SelectTab 1
@Map.SetCollectionLayer ID6
;Обробка події застосована для включення режимності скрипта
%Events.OnSelect
$NomTochPrav=@Map.SelectedObject; Номер точкового об'єкта, на місце якого треба перемістити найблищу вершину найблищого полігона
$XYZ=@Map.Object[$NomTochPrav].Point[1]; Координати точки, в яку треба перемістити найблищу вершину найблищого полігона
$NumObgPrav=@Map.NearestObject 0 0 $XYZ; Номер полігона, найблищого до точкового об'єкта на місце якого треба перемістити вершину полігона

Питання: найблищий до кліка полігон ми визначили, а як визначити найблищу до кліка вершину полігона :?:
Треба мати функцію, наприклад @Map.NearestPoint Range IgnoreObj X Y Z, яка б повертала координати точки полігона (чи іншого об'єкта), що є найблищою до точки з координатами X Y Z, або маркувала найблищу точку, або ... ну треба знати координати найблищої точки полігона :!:
Це би спростило правку об'єктів пером на сенсорному моніторі.

Автор:  _Pavel_ [ 27 июл 2012 09:12 ]
Заголовок сообщения:  Подскажите как правильно прописать скрипт заменить назван. в

Есть несколько сотен XML
Все владельцы зарегестрированы в одном населенном пункте
В ХМL неправильно введен тип населенного пункта (місто Синька)
а надо с. Синька
Подскажите как правильно прописать скрипт

Страница 40 из 92 Часовой пояс: UTC + 2 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/