ООО "ЛесИС" - ГИС TOPOL-L для лесного хозяйства, лесоустройства и арендаторов лесного фонда
ООО "ЛесИС" - ГИС TOPOL-L для лесного хозяйства, лесоустройства и арендаторов лесного фонда
lesis@ya.ru
+7(916)615-42-77

ФОРУМ ТЕХПОДДЕРЖКИ ГИС TOPOL-L

Объявление

Для участия в работе закрытой, технической части форума нужно быть пользователем ГИС TopoL-L2 (10.0) и Зарегистрироваться!

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » ФОРУМ ТЕХПОДДЕРЖКИ ГИС TOPOL-L » РАБОТА С СОВМЕЩЕННЫМИ БАЗАМИ ТАКСАЦИИ И КАРТ » Формирование тематической карты.


Формирование тематической карты.

Сообщений 1 страница 5 из 5

1

Не получается сформировать окраску по вредителям.
В файле *.TPS следующее:

Vrediteli.tps

var
ResultValue : string;

begin
  ResultValue := '0';
  if (@M3.MAKET = 12) AND (@M3.N4 = 55) then 
    ResultValue := '1' { Стволовая гниль }
  else if (@M3.MAKET = 12) AND (@M3.N4 = 6) then 
    ResultValue := '2' { Рак серянка }
  else if  (@M3.MAKET = 12) AND (@M3.N4 = 53) then 
    ResultValue := '3'  { Некроз вершин }
  else if  (@M3.MAKET = 12) AND (@M3.N4 = 1) then 
    ResultValue := '4'  { Корневая губка }
  else if  (@M3.MAKET = 12) AND (@M3.N4 = 2) then 
    ResultValue := '10'  { Сосновая губка }
  else if  (@M3.MAKET = 12) AND (@M3.N4 = 5) then 
    ResultValue := '11'  { Еловая губка }
  else if  (@M3.MAKET = 12) AND (@M3.N4 = 13) then 
    ResultValue := '5'  { Короед-типограф }
  else if  (@M3.MAKET = 12) AND (@M3.N4 = 7) then 
    ResultValue := '6'  { ложный трутовик }
  else if  (@M3.MAKET = 12) AND (@M3.N4 = 8) then 
    ResultValue := '7'  { трутовик настоящий }
  else if  (@M3.MAKET = 12) AND (@M3.N1 = 1) then 
    ResultValue := '8'  { низовой пожар }
  else if  (@M3.MAKET = 12) AND (@M3.N1 = 4) then 
    ResultValue := '9'  { Ветровал }
end.

В базе поле @M3.N1, то есть столбец Parametr в таблице TblVydDopParam имеет текстовый формат.
Я предполагаю что из за текстового формата поля условие, например "@M3.N1 = 4" не выполняется.
Подскажите кто, чего решил по окраске вредителей.

2

тогда может так?
@M3.N1 = '4'

3

Алексей Курагин написал(а):

тогда может так?
@M3.N1 = '4'

Не работает, пишет: "Несоответствие типов операндов"

4

ну или в двойных кавычках, я их путаю )
хотя пробовали наверно уже.

тут наверно дело в том, что макетов у выдела несколько, и не всегда макрос "заглядывает" в 12-й. Запрос надо посложнее писать, с SELECT-ом.
что-то типа этого

IF SELECT(@M3.N4, @M3.MAKET = 12) = 4

сам не проверял, извините

5

Разобрался.
Если кому надо, забирайте

Вредители.tps

var
ResultValue : string;

begin
  ResultValue := '55';
  if  (@1.4.1.PARAMID = 1201) AND (@1.4.1.PARAMETR = '4') then 
    ResultValue := '9'  { Ветровал }
  else if (@1.4.1.PARAMID = 1204) AND (@1.4.1.PARAMETR = '55') then 
    ResultValue := '1' { Стволовая гниль }
  else if (@1.4.1.PARAMID = 1204) AND (@1.4.1.PARAMETR = '6') then 
    ResultValue := '2' { Рак серянка }
  else if  (@1.4.1.PARAMID = 1204) AND (@1.4.1.PARAMETR = '53') then 
    ResultValue := '3'  { Некроз вершин }
  else if  (@1.4.1.PARAMID = 1204) AND (@1.4.1.PARAMETR = '1') then 
    ResultValue := '4'  { Корневая губка }
  else if  (@1.4.1.PARAMID = 1204) AND (@1.4.1.PARAMETR = '2') then 
    ResultValue := '10'  { Сосновая губка }
  else if  (@1.4.1.PARAMID = 1204) AND (@1.4.1.PARAMETR = '5') then 
    ResultValue := '11'  { Еловая губка }
  else if  (@1.4.1.PARAMID = 1204) AND (@1.4.1.PARAMETR = '13') then 
    ResultValue := '5'  { Короед-типограф }
  else if  (@1.4.1.PARAMID = 1204) AND (@1.4.1.PARAMETR = '7') then 
    ResultValue := '6'  { ложный трутовик }
  else if  (@1.4.1.PARAMID = 1204) AND (@1.4.1.PARAMETR = '8') then 
    ResultValue := '7'  { трутовик настоящий }
  else if  (@1.4.1.PARAMID = 1201) AND (@1.4.1.PARAMETR = '1') then 
    ResultValue := '8'  { низовой пожар }

end.


Вы здесь » ФОРУМ ТЕХПОДДЕРЖКИ ГИС TOPOL-L » РАБОТА С СОВМЕЩЕННЫМИ БАЗАМИ ТАКСАЦИИ И КАРТ » Формирование тематической карты.



Почтовый адрес для ЗАКАЗНЫХ писем:
С.П.Грешнов, +7(916)615-42-77, 108832, А/Я №1
НЕ ИСПОЛЬЗОВАТЬ курьерскую доставку!!!
E-Mail: lesis@ya.ru
Вопросы общего характера:
+7(916)615-42-77
РОССИЙСКАЯ ФЕДЕРАЦИЯ
Общество с ограниченной ответственностью "ЛЕСИС"
ОГРН: 1035007204902, ИНН: 5036046400, КПП: 503601001