SOFTDATA d.o.o. SDMS CESTA

Pogosta vprašanja
(Tematizacija)

Pregled pogostih vprašanj

Kako izrisujem na ekran dve ali več vrednosti?

Kaj je narobe v opredelitvi Result = Transparent?

Kako dodam novo temo (napis, simbol, ...) da se bo izrisala na ekran?

Zakaj se pri geodetskih listih izpisuje informacija (Hint) samo v okolici izpisa nomenklature lista

Kako spreminjam velikost pisave glede na trenutno merilo ?

Kako spreminjam vrstni red izrisa na karto ?

Želim, da je napis na poliliniji obrnjen v smeri polilinije. Kako ?

Kako izpišem vrednosti iz dveh različnih polj, s poravnavo teksta levo in desno ?

Kako izrisujem slojnice različnih debelin?

Kako izrisujem na ekran dve ali več vrednosti?

Tako da 'seštevate' polja med sabo ali pišete vsako polje v svojo vrstico z ukazom Line v Temi
Primer 1:
[Ime Obcine] + " - " + [Sifra obcine] nam bo izpisovalo npr Ajdovščina - 1.
Primer 2:
[Ime Obcine] + Line + [Sifra obcine] nam bo izpisovalo prvo vrstico Ajdovščina, v drugo 1.
Opomba: Rezultat 'seštevanja' izpisa je vedno besedilo, tako da mora biti[Sifra obcine].AsString , in ne [Sifra obcine].AsNumber

Kaj je narobe v opredelitvi Result = Transparent?

Nastavitev pogojnega izrisa npr.:
NAROBE:
Select Case [Vrednost Polja].AsNumber
Case 1 Result = Transparent
CaseElse Result = Opaque
EndSelect
PRAVILNO:
Select Case [Vrednost Polja].AsNumber
Case 1 Result = TMTransparent
CaseElse Result = TMOpaque
EndSelect
Obrazložitev:TMTransparent in TMOpaque sta konstantne variable za opredelitev načina izrisa, tako kot je konstantna variable Red za rdečo barvo. Več o konstantnih spremenljivkah glej SDMS.HLP - Constants.

Kako dodam novo temo (napis, simbol, ...) da se bo izrisala na ekran?

V aplikaciji v Tematiki (desna stran), pritisnite desno tipko na miški in izberite Dodaj temo. Za detajle glej Tematika.
Če pa želite v obstoječo tematiko dodati teme iz druge tematike, potem pritisnite desno tipko na miški in izberite Dodaj tematiko. Iz seznama izberite ustrezno tematiko in iz seznama tem v tematiki ustrezno (eno, več ali vse) temo.

Zakaj se pri geodetskih listih izpisuje informacija (Hint) samo v okolici izpisa nomenklature lista

Ker je to točkovna plast (za imena listov), ne poligonska. Mreža, ki jo vidite, je tipa GRID in je del programa. Popravljate jo lahko z VIEWEDIT ukazom

Kako spreminjam velikost pisave glede na trenutno merilo ?

Velikost pisave je možno spreminjati samo za TrueType pisave. Enota velikosti je v cm
Za Skalarno spreminjanje velikosti pisave uporabljaj Funkcijo AtScale
Primer : AtScale (1000,0.5) - pomeni da bo v merilu 1:1000 velikost pisave 0.5 cm

Kako spreminjam vrstni red izrisa na karto ?

Teme se izrisujejo po vrstnem redu, tako kot so v tematiki postavljene.
Če temo 'primete in držite' z miško, jo lahko premikate po listi. Na ta način spreminjate vrstni red izrisa tem.

Želim, da je napis na poliliniji obrnjen v smeri polilinije. Kako ?

Za pravilno izvedbo spodnje funkcije, mora imeti polilinija vnešen centroid. Za ta centroid se izračuna projekcijska točka centroida na polilinijo in kot je smer stranice, na kateri leži projekcijska točka. Funkcija izvede tudi zasuk kota, tako da je napis vedno obrnjen navzgor.

V nek modul dodamo funkcijo
//*********************************************************************
Function GetAngleFromPline (R As TRecord) As Float
Dim P As TPointArray, I As Long, O As Float
Result = 0
If R.TopologyType = ttPolyline Then
P = R.PointArray
P.ProjectionPoint (R.y, R.x, I, O)
If I < P.Count - 1 Then
Result = RadToDeg (Angle (P.y (I + 1)- P.y (I), P.x(I+1)-P.x(I)))
Else
Result = RadToDeg (Angle (P.y(I)-P.y(I-1), P.x(I)-P.x(I-1)))
EndIf
P.Destroy
// Zasuk kota, tako da je napis vedno obrnjen navzgor
If Result >= 90 Then
If Result <= 270 Then
Result = Result + 180
EndIF
EndIF
EndIf
EndFunction
//*********************************************************************

V temi Napis, Lastnost Kot, dodamo pod Zahtevnejše nasledni zapis
GetAngleFromPline (curRec)

Kako izpišem vrednosti iz dveh različnih polj, s poravnavo teksta levo in desno ?

Potrebujete dve temi iz iste podatkovne plasti. Prva izpisuje prvo polje, poravnava levo, druga izpisuje drugo polje, poravnava desno.

Kako izrisujem slojnice različnih debelin?

V temo Linija, Debelina linije vstavimo naslednjo kodo:
If scale < 750 then
If frac ([VISINA].AsNumber / 2.5) <> 0 Then
Result = 0.015
else
Result = 0.03
endif
else
If frac ([VISINA].AsNumber / 5) <> 0 Then
Result = 0.015
else
Result = 0.03
endif
endif
To nam določa debelino linije na dva načina in sicer ko je merilo manjše od 1:750 nam odebeli slojnice 0, 2.5, 5 in 7.5, sicer pa le 0 in 5. Glede na resolucijo na ekranu morate mogoče povečati vrednost 0.03.