Információk a kifejezések használatáról stílusdefiníciókban

Szinte az összes stílus beállításhoz használhat értékként kifejezéseket. A Kifejezés-készítő eszköz használatával stilizálhatja a jellemzőket a jellemzőosztály-attribútumokon vagy a kapcsolódó jellemzők attribútumain, illetve bármely, az attribútumértékekkel kiszámított értéken alapuló kifejezésekkel.

Szövegfüggvények

A Kifejezés-készítő használatával hozhat létre a dinamikus stilizáláshoz használható számított tulajdonságokat. A szakági modell két szövegfüggvényt biztosít.

TB_SQL – Ezzel a szövegfüggvénnyel kérdezhet le attribútumokat a kapcsolódó jellemzőosztályokból. Az attribútumok használhatók stilizáláshoz. Az SQL parancsnak meg kell felelnie a következő szabályoknak:

Megjegyzés:

Az SQL parancs teszteléséhez futtassa a következőt: SELECT g.FID, (SQL parancs) FROM <jellemzőosztály neve> g. Használja például az SQL Sheet eszközt a parancs futtatásához.

TB_VARIABLE

Ezzel a szövegfüggvénnyel hozhat létre olyan számított szövegtulajdonságot, amely felhasználói változót biztosít a tematikus stilizáláshoz. A változók a TB_VARIABLE rendszertáblában vannak tárolva. Mindegyik személyes bejelentkezéshez meghatározhat ilyen változókat.

A TB_VARIABLE változóban például olyan BUILDING változót határozhat meg, amelynek értéke a jellemzőazonosítónak felel meg. A Megjelenítéskezelőben a változó használatával stilizálhatja az épületet. A térképen egyetlen épület kiemeléséhez adja meg az épület jellemzőazonosítóját a TB_VARIABLE táblában. Ha egy másik épületet szeretne kiemelni, nem kell módosítania a megjelenítési modellt, de beírhatja az új jellemzőazonosítót a TB_VARIABLE táblába.

If, Lookup és Range

Ezekkel a függvényekkel határozhat meg témát egy megjelenítési attribútumhoz, például a vonal színét vagy vastagságát. Ezek több adattípussal működnek is: karakterlánc, valós, egész, boole, szín és dátum-idő. A paraméterek mindegyike lehet állandó vagy egy olyan kifejezés, amelynek eredménye karakterlánc vagy numerikus érték.

If

If('Feltétel', IgazÉrték, HamisÉrték)

A 'Feltétel' paraméter olyan kifejezést tartalmazó karakterlánc, amelynek eredménye egy Boole érték (lényegében egy szűrő). Ez lehet egyetlen összehasonlítás, például 'népesség > 1000', ahol a 'népesség' a fólia jellemzőtulajdonsága. Az 'IgazÉrték' és a 'HamisÉrték' olyan kifejezések, amelyeket a rendszer kiértékel és visszaad, amikor a feltétel igaz, illetve hamis. Mindkét kifejezésnek ugyanazt az adattípust kell kiértékelnie (karakterláncot vagy számot).

Ezen példa használatával elforgathatók a felfelé néző nyíl szimbólumok, hogy növekvő vagy csökkenő népességet jelezzenek: If('pop2005 > pop2000', 0.0, 180.0)

Lookup

Lookup(Kifejezés, Alapérték, Kulcs1, Érték1, … KulcsN, ÉrtékN)

Ez a függvény egy keresési táblázatot valósít meg, ahol mindegyik kulcs egyetlen értékkel van társítva. A 'Kifejezés' egy kulcsot (karakterláncot vagy számot) kiértékelő kifejezés. Ezt a kulcsot a rendszer a megmaradó 'Kulcs#' paraméterek állandó értékével hasonlítja össze, hogy kiválassza a visszaadandó 'Érték#' paraméter állandó értéket. Ha a kért kulcs nem található, a rendszer az 'Alapérték' értéket adja vissza. A 'Kifejezés' és a 'Kulcs' paramétereknek ugyanazzal az adattípussal kell rendelkezniük, mint az 'Alapérték' és az 'Érték#' paramétereknek. A kulcs-érték párok száma nem rögzített.

Ezzel a példával színek rendelhetők a telkekhez a zónatípusuk alapján:

Lookup(zóna, 0xff888888, 'Ipari', 0xffff0000, 'Üzleti', 0xff00ff00, 'Lakossági', 0xff0000ff)

Range

A range (tartomány) függvény a 'Kifejezés' kulcsot hasonlítja össze a tartományok készletével, ahol a kulcs akkor felel meg egy tartománynak, ha a MIN <= KULCS < MAX:

Range(Kifejezés, Alapérték, Min1, Max1, Érték1, … MinN, MaxN, ÉrtékN)

A tartományokat a 'Min#' és 'Max#' paraméterek határozzák meg, és mindegyikhez társítva van egy 'Érték#' paraméter. Ha a kért kulcs nem felel meg a megadott tartományoknak, a rendszer az 'Alapérték' értéket adja vissza. Ha a tartományok átfedik egymást, a rendszer a kulcsnak megfelelő első tartományt választja ki. A 'Kifejezés' és a 'Min' és 'Max' paramétereknek ugyanazzal az adattípussal kell rendelkezniük, mint az 'Alapérték' és az 'Érték#' paramétereknek. A tartomány-érték készletek száma nem rögzített.

Ezzel a példával a városok népességétől függő szimbólumméretek határozhatók meg:

Range(népesség, 4.0, 100000, 1000000, 6.0, 1000000, 10000000, 8.0)