Обновил утилиту
скачать можно по ссылке: http://sendfile.su/1394232
Добавлена вкладка «Фильтр» - основное назначение фильтрация общего списка на основе выражений пользователя или географических регионов. Разбор выражений пользователя для фильтрации «самописный» без использования дополнительных специализированных
библиотек и SQL, поэтому есть ряд ограничений:
1 Каждое выражение обязательно должно быть заключено в круглые скобки – ()
2 Выражения комбинируются при помощи логических операторов OR (логическое ИЛИ) AND (логическое И) и также заключаются в круглые скобки
3 Выражение состоит из трех частей: левая часть – наименование параметра; средняя часть – операнд сравнения; правая часть – значение параметра
3.1. Левая часть – наименование параметра, должно быть заключено в квадратные скобки
Обрабатываются следующие наименования параметров: [IDX], [X], [Y], [TYPE], [SPEED], [DIRTYPE], [DIRECTION]
3.2. Типы параметров следующие:
[IDX], [TYPE], [SPEED], [DIRTYPE], [DIRECTION] – целое число
[X], [Y] – строка или вещественное число
3.3. Средняя часть – операнд сравнения, зависит от типа параметра. Допускаются следующие операнды:
= (равно) для всех типов
<> (не равно) для всех типов
> (больше) для числовых типов
< (меньше) для числовых типов
>= (больше или равно) для числовых типов
<= (меньше или равно) для числовых типов
3.4. Правая часть – значение параметра, значения для строковых параметров заключаются в двойные кавычки; у вещественных чисел целая часть от дробной отделяется точкой. Для координат [X] и [Y] строковый тип введен с целью удобства фильтрации. Например, в выражении ([X] = “56.123”) при отборе в фильтр будут включены все объекты, у которых для координаты Х – целочисленная часть равна 56 и первые три разряда дробной части равны 123 (т.е. 56.123000; 56.123567; 56.123999 и т.п.)
Если указывать значение параметра без двойных кавычек, то тип считается вещественным (числовым) и сравнение осуществляется математически. Например, в выражении ([X] = 56.123) будут отфильтрованы только объекты с координатой X равной 56.123000 (дробная часть числа дополняется нулями)
Примеры:([Speed]<=5) AND (([Type]<>5) AND ([Type]<>3))
Фильтр - все типы предупреждений кроме 5 и 3 со скоростью меньше или равно 5
([Speed]<=5) AND (([Type]=5) OR ([Type]=3))
Фильтр - типы предупреждений 5 или 3 у которых скорость меньше или равна 5
Фильтр по географическим регионам – позволяет отфильтровать из общего списка объекты входящие в выбранный полигон.
Вызывается нажатием на кнопку «Сохраненные…», затем нажатием на кнопку «Открыть фильтр по географическим регионам». Будет построено дерево по данным из всех файлов с расширением .poly , находящихся в папке Polygons
Как строится это иерархическое дерево, сообразите сами. Файлы можно дополнять и изменять на свое усмотрение, от этого зависит точность границ географических регионов. Поддерживаются "дыры" - если имя секции начинается с символа !
Исходные файлы-полигоны взяты с ресурса
http://gis-lab.info