Landmeters werken niet alleen aan land maar soms ook op zee. En die gebruiken dan waterbodemkaarten waar andere notaties op voorkomen om een hoogte aan te geven dan aan land het geval is. Bijvoorbeeld zo, een groot getal voor de komma en een klein, verlaagd getal na de komma:

Hoe kun je dit simuleren in Civil 3D? Normaal gesproken worden hoogten afgebeeld als een geheel getal met een op te geven aantal decimalen.

De moeilijke manier is het aanmaken van Expressions die het deel voor de komma verwerken en het deel na de komma. Hierbij moet je uiteraard rekening houden met afronding. Het getal voor de komma moet altijd afgerond worden naar beneden anders wordt 5.86 ineens afgebeeld als 6. Helaas werkt het bij negatieve getallen weer anders, daar moet je naar boven afronden. -5.86 moet -5 worden, niet -6. Een expressie kan er dan zo uitzien:

IF (
  {Surface Elevation} < 0,
  CEIL({Surface Elevation}),
FLOOR({Surface Elevation})
)

Dit houdt in dat als een getal kleiner is dan 0, de waarde afgerond naar boven wordt teruggegeven en anders de waarde afgerond naar beneden.

Om het eerste getal na de komma te krijgen zul je de modulus moeten opvragen (het deel na de decimale punt) en die vermenigvuldigen met 10 zodat het voor de komma terecht komt. Het getal wordt in de label namelijk afgebeeld zonder decimalen. De Expression hiervoor is:

FMOD(ABS({Surface Elevation}),1) * 10

In ieder geval is dit de ingewikkelde manier en het levert niet altijd het gewenste resultaat (zo wordt er geen -0 waarden getoond omdat na afronding naar 0 niet duidelijk is dat het lager moet zijn). Goed om van te leren, uitstekend om eens te proberen (het kan ineens briljante ideeën opleveren). Er is gelukkig ook een eenvoudige manier, je kunt namelijk een label component afbeelden met alleen het deel voor en het deel na de decimale punt. Voor deze methode zijn geen Expressions nodig.

Eenvoudige methode

Maak hiervoor een nieuwe Surface Spot Elevation Label aan (of kopieer een bestaande) en ga naar het tabblad Layout. Er moeten twee componenten gemaakt worden van het type tekst, eentje om het gehele getal te tonen en eentje om de decimalen te tonen.

De eerste noem je ‘Gehele getal’, deze centreer je om het middelpunt en als tekstinhoud geef je de Surface Elevation op waarbij het belangrijkste is dat als Output alleen het deel links van het decimaalteken wordt getoond.

Het tweede tekst component noem je ‘Decimaal’ en koppel je aan het eerste tekst component, aan de rechter onderzijde. De tekstgrootte mag iets kleiner.

De tekstinhoud is opnieuw de Surface Elevation maar dan het deel aan de rechterkant van het decimaalteken, en hier verberg je het min-teken met de optie ‘Drop sign’:

Wil je maar één decimaal dan rond je af op 0.1, wil je twee decimalen dan rond je af op 0.01, enzovoort. Het resultaat is nu hetzelfde als de waterbodemkaarten: