Tekstiformaatti

Tekstiformaatilla voidaan lukea ja kirjoittaa tekstipohjaisia tiedosto- formaatteja, jotka perustuvat peräkkäisiin pistetietoihin. Yksi pistetieto on useimmiten yksi tekstirivi, mutta voi olla myös jaettuna useammalle riville. Olennaista on, että jokainen pistetieto on rakenteeltaan samanlainen.

Tekstiformaatin alkutiedosto voi sisältää makroja ja tiedoston ominaisuustietoja. Koska viivojen koodaus perustuu viivanumeroihin, peräkkäisistä samannumeroisista viivoista jälkimmäisen T2-kenttään lisätään loppuun merkki X.

Jos yleinen muunninasetus Muunna kaaret on päällä, tiedoston kaaret muutetaan kolmen pisteen kaariksi. Muuten kirjoitetaan keskipisteet.

Asetusdialogissa voidaan formaattimäärittely jakaa useammalle riville, mutta mahdolliset välilyönnit kenttien välillä on muistettava jättää määrittelyyn rivin loppuun.

Otsikkorivi

Kirjoittaa kenttien tunnukset otsikkoriville tai luettaessa ohittaa ensimmäisen rivin.

Jos kooditiedosto on annettu, koodikenttien nimet haetaan sieltä ja tunnetuille laskentaominaisuuksille käytetään ohjelman omia nimiä. Koska kooditiedostossa olevat ominaisuuksien nimet ovat koodikohtaisia, niitä ei käytetä yleisellä otsikkorivillä.

Pilkku desimaalierottimena

Käyttää kirjoittaessa pilkkua desimaalierottimena. Luettaessa desimaalierottimena ymmärretään sekä pilkku että piste.

Kirjoita tekstit

Kirjoittaa myös tekstipisteet samassa muodossa kuin muutkin pisteet. Itse teksti löytyy ominaisuudesta TEXT.

Kaikki poikkileikkaukset

Kirjoittaa kaikki poikkileikkaukset. Oletuksena kirjoitetaan vain näkyvä poikkileikkaus.

Kirjoita viivat

Lukee ja kirjoittaa vain viivat. Koordinaatit X, Y ja Z viittaavat tällöin viivan tai alueen referenssipisteen koordinaatteihin. Ominaisuuksina luetaan ja kirjoitetaan vain viivan ominaisuudet. Viivan pisteet voidaan lukea ja kirjoittaa kohdassa Viivat selitetyllä hakasulkusyntaksilla.

Lue väripisteinä

Lukee pisteet väripisteinä, jotka piirretään vakiokokoisina värillisinä ruutuina. Väri siirretään pisteen piirtotiedoksi _RGB-ominaisuudesta ja oletuskoko lasketaan keskimääräisen pistetiheyden perusteella. Koko tai sen kerroin voidaan antaa myös kenttäasetusten SymbolSize-asetuksella.

Otantaväli

Yksinkertainen testisuodatus, jolla voidaan tiedostosta lukea pisteitä annetuin välein. Vaikuttaa vasta lopuksi luokkien ja koordinaattirajojen suodattamisen jälkeen.

Viivasuodatus

Viivasuodatuksessa voidaan antaa viivoja sisältävä vektoritiedosto ja hakuetäisyys viivoista. Hakuetäisyys laitetaan ylempään kenttään ja alempaan haetaan viivatiedosto, jonka on oltava 3D-binäärimuodossa. Suodatus tarkistaa tiedoston kaikki viivat. Jos viiva on sulkeutuva alue, sisäpuolelle jäävät pisteet hyväksytään. Muussa tapauksessa hyväksytään pisteen annetun hakuetäisyyden päässä viivasta.

Formaatin määrittely

Tekstiformaatti perustuu peräkkäisiin tietuemäärittelyihin, joista jokainen määrittelee yhden tiedon (ominaisuus, koordinaatti) formaatin ja sijainnin. Peräkkäiset tietuemäärittelyt erotetaan toisistaan joko välilyönnillä tai muulla erotinmerkillä. Pääsääntöisesti sama formaattimäärittely toimii sekä lukemisessa että kirjoittamisessa. Käytännössä tämä vaatii, että kirjoitettavat tietueet on eroteltu jotenkin järkevästi.

Esimerkiksi perinteinen Geonic-formaatti:

       9       0     234    3199   6697091.114   3444140.918        11.545

käsitellään seuraavalla formaattimäärittelyllä:

$T1@8< $T2@8< $T3@8< $T4@8< $X@14%.3 $Y@14%.3 $Z@14%.3

Edellisessä määritellään formaatti neljällä koodikentällä (T1-T4), kukin katkaistuna kahdeksan merkin levyisiin kenttiin ja sen jälkeen koordinaatit X, Y ja Z 14 merkin levyissä kentissä kolmella desimaalilla.

Formaatti osaa asteiden, minuuttien ja sekunttien käsittelyn. Pisteiden X- ja Y-koordinaatteina olevia asteita voidaan lukea ja kirjoittaa eri muodoissa ja eri yksiköihin jaettuna. Tämä toimii yhdessä koordinaattimunnoksen kanssa mahdollistaen maantieteellisten koordinaattien lukemisen ja kirjoittamisen automatisoinnin. Lisäksi tekstiformaatilla voi lukea ja kirjoittaa myös kairaus- sekä profiilipisteitä.

Ohjelma antaa virheilmoituksen, jos määrittelystä löytyy vanhoja kenttämäärityksiä (T18) tai sulkusyntaksin $(DIA3) käyttöä. Ominaisuuden lopussa olevasta numerosta ei virhettä kuitenkaan anneta, koska syntaksi säilyy hyväksyttävänä.

Tietuemäärittely

Yksittäisen tietueen määrittely koostuu seuraavista osista:

$NAME@WIDTH=FILL%FORMAT.DEC

$  NAME     koodin/ominaisuuden/koordinaatin nimi (T1, MAT, X).
@  WIDTH    kentän leveys, negatiivinen asemoidaan vasemmalle.
  =  FILL   kentän täyttömerkki, oletuksena välilyönti.
%  FORMAT   aste/minuutti/sekuntti formaattimäärittely.
  .  DEC    desimaalien määrä, oletus muuntimen asetuksista.

Ominaisuuden määre $ voidaan korvata määreellä £ jolloin viiva- tai profiilipisteen ominaisuutta haetaan kirjoitettaessa myös viivalta tai profiililta mikäli sitä ei itse pisteeltä löydy. Luettaessa määrellä £ merkitty ominaisuus vastaavasti sijoitetaan viivalle tai profiilille. Hajapisteiden kanssa £ toimii täsmälleen samalla tavalla kuin $.

Täyttömäärittely (FILL) katsotaan leveysmäärittelyn (WIDTH) lisämääreeksi ja desimaalien määrä (DEC) formaatin (FORMAT) lisämääreeksi. Lisäksi tietuemäärittelyn perässä voi olla erikoismerkkejä tiedon katkaisuun ja erotinmerkkeihin liittyen. Tietue voi myös olla lainaus- tai heittomerkeillä rajattu vakioteksti.

Taaksepäin yhteensopivuuden vuoksi voidaan useimmissa tapauksissa jättää merkit $, @ ja % pois. Tällöin esimerkiksi Geonic-formaatin määrittely näyttää samalta kuin vanha riviformaatti:

T18 T28 T38 T48 X14.3 Y14.3 Z14.3

Kentät T1-T6 ovat poikkeustapaus: määritys T18 on sama kuin $T1@8 eli kenttä T1 kahdeksan merkin levyisenä. Jos halutaan kirjoittaa ominaisuus T 18 merkin levyisenä, se on määriteltävä $T@18. Normaalisti tekstin jälkeen tuleva numero käsitellään kentän leveytenä: MAT8 on sama kuin $MAT@8.

Tietueen nimi (NAME) voi olla joko koodikentän nimi (T1-T6), mikä tahansa ominaisuuden nimi (MAT, DATE, TIME) tai jokin seuraavista koordinaateista:

X, Y, Z  Pisteen X, Y tai Z-koordinaatti.
A, B     Kaira- tai profiilipisteen paaluluku (A) tai sivumitta (B)
D, G, T  Pisteen suuntakulma asteina (D), gooneina (G) tai oletusyksikkönä (T)

Jos kirjoitusmuuntimen koordinaattiasetuksissa on määritelty mikä tahansa koordinaattimuunnos, alkuperäiset koordinaatit kopioidaan ominaisuuksiin _X, _Y ja _Z. Näin voidaan samalle riville kirjoittaa koordinaatit kahdessa eri järjestelmässä:

$T4@8< $_X@14%.3 $_Y@14%.3 $X@14%.3 $Y@14%.3

Lisäksi nimenä voidaan käyttää nollaa (0) merkitsemään tyhjää ominaisuutta. Kirjoitettaessa se tulostaa nollan ja lukiessa arvo yksinkertaisesti ohitetaan. Esimerkiksi pelkkien koordinaattien luku Geonic-formaatista:

$0@8 $0@8 $0@8 $0@8 X@14%.3 Y@14%.3 Z@14%.3

Kenttien leveys

Tietueen leveys (WIDTH) määrittelee kirjoitettavan kentän leveyden ja valinnainen lisämääre täyttömerkin (FILL) mahdollistaa kentän täytön jollain muulla kuin välilyönnillä. Negatiivinen leveys asemoi tiedon kentän vasempaan laitaan. Muutoin käytetään oletuksena asemointia oikealle.

Jos leveysmäärittely jätetään pois, kirjoitetaan tieto suoraan sen levyisenä kuin se on. Jos tieto on leveämpi kuin kentän leveysmäärittely, se kirjoitetaan koko leveydellään. Tietuemäärittely lopussa olevilla erikoismerkeillä < ja > voidaan pitkä tietue haluttaessa katkaista lopusta (<) tai alusta (>).

Esimerkkejä:

$T4@8               123             Asemointi oikealle, täyttö välilyönneillä
$T4@-8=0       12300000             Asemointi vasemmallle, täyttö nollilla
X@14=.         ....123456.789       Asemointi oikealle, täyttö pisteillä
$PATH@14       c:/foo/bar/bat.txt   Pitkä tieto kirjoittuu kentän yli
$PATH@14>      oo/bar/bat.txt       Pitkä tieto katkaistuna alusta
$PATH@14<      c:/foo/bar/bat       Pitkä tieto katkaistuna lopusta
$0@8%.1             0.0             Tyhjä ominaisuus yhdellä desimaalilla
£LENGTH@8%.2       0.00             Viivan ominaisuus kahdella desimaalilla

Lainaukset

Vakiotekstien käsittelyä varten tietue voi myös olla lainaus- tai heittomerkeillä rajattu vakioteksti. Kirjoitettaessa tämä kirjoitetaan suoraan ja luettaessa ohitetaan sen leveyden verran merkkejä. Jos tietue alkaa lainausmerkillä se voi sisältää heittomerkkejä ja päinvastoin.

Jos lainaus- tai heittomerkkien sisällä on normaali $-merkillä alkava tietuemäärittely, se kirjoitetaan lainattuna ja luetaan lainauksen sisältä. Kaikkia normaaleja datamäärittelyjä voidaan käyttää myös lainausten kanssa. Huomattava on, että leveään kenttään tekstiä asemoidessa täyttömerkit tulevat lainausten ulkopuolelle.

Esimerkkejä:

"foobar"         foobar             Vakiotekstin kirjoitus
"'foobar'"       'foobar'           Vakioteksti sisältää heittomerkkejä
'"foobar"'       "foobar"           Vakioteksti sisältää lainausmerkkejä
"$T4"            "123"              Koodikenttä lainausmerkeissä
'$X@14'            '697295.748'     Koordinaatti heittomerkeissä

Desimaalit

Formaattimäärittely (FORMAT) sisältää mahdollisen aste/minuutti/sekunttiformaatin sekä desimaalipyöristyksen käsittelyn. Nämä määrittelyt toimivat kaikille koordinaattiarvoille ja myös numeerisille ominaisuustiedoille. Jos määrittely alkaa +-merkillä, kirjoitetaan myös positiivisille arvoille etumerkki. Merkillä = voidaan kirjoittaa luvun itseisarvo.

Desimaaliosio (DEC) alkaa pisteellä ja kertoo kirjoitettavien desimaalien määrän. Oletuksena kirjoitettava tieto pyöristetään normaalien matemaattisten pyöristyssääntöjen mukaan, mutta jos tietuemäärittelyn lopussa on katkaisumerkki <, desimaalit katkaistaan ilman pyöristystä. Negatiivinen desimaalien määrä pyöristää lähimpään kymmenen potenssiin. Pelkkä piste käyttää muuntimen desimaaliasetusta.

Piste myös pakottaa ominaisuustiedon numeeriseksi. Tällöin se kirjoitetaan normaalien desimaaliasetusten mukaan ja luettaessa mahdollinen desimaalierottimena oleva pilkku muutetaan pisteeksi. Puuttuvat numeeriset arvot kirjoitetaan oletuksena nolliksi ja tyhjän numeerisen arvon lukeminen luo ominaisuuden arvolla nolla. Jos tyhjät arvot halutaan ohittaa, voidaan formaattimäärittely aloittaa merkillä _. Tällöin puuttuvat numeeriset ominaisuudet kirjoitetaan tyhjänä ja luettaessa tyhjistä arvoista ei luoda ominaisuutta.

Vaikka ominaisuudet ovat sisäisesti talletettuna tekstinä kiinteällä desimaalimäärällä, voidaan ne silti kirjoittaa ulos vähemmillä desimaaleilla. Luettaessa desimaalimäärittelyllä ei ole merkitystä koordinaateille, vaan kaikki desimaalit luetaan aina. Ominaisuuksiin luetut arvot talletetaan määrittelyn mukaisilla desimaaleilla.

Numeerinen arvo voidaan myös kertoa prosenteiksi määreellä p, promilleiksi määreellä o tai esittää suhdelukuna määreellä q. Suhdeluvun esitysmuoto riippuu siitä, onko alkuperäinen arvo pienempi vai suurempi kuin 1. Luvun perään voidaan myös lisätä haluttaessa prosenttimerkki. Promillemääreen kanssa prosenttimerkki muutetaan automaattisesti promillemerkiksi.

Esimerkkejä:

X@14%.3             123456.789      Kirjoitus kolmella desimaalilla
X@14%+.3           +123456.789      Etumerkki myös positiivisille arvoille
X@14%=.3            123456.789      Itseisarvo
X@14%.2              123456.79      Normaali pyöristys kahdella desimaalilla
X@14%.2<             123456.78      Katkaisu kahdella desimaalilla
X@14%.-2                123500      Pyöristys negatiivisilla desimaaleilla
$SCALE%.               123.456      Numeerinen ominaisuus oletusdesimaaleilla
$VALUE%d%.1               0.2%      Numeerinen arvo prosentteina
$VALUE%p%.1              23.4%      Numeerinen arvo kerrottuna prosenteiksi
$VALUE%o%.1             234.5‰      Numeerinen arvo kerrottuna promilleiksi
$SLOPE%q.1              1:23.4      Numeerinen arvo suhdelukuna
$SLOPE%q.1              43.2:1      Numeerinen arvo suhdelukuna
$MISSING%.0                  0      Puuttuva numeerinen ominaisuus nollana
$MISSING%_.0                        Puuttuva numeerinen ominaisuus tyhjänä
$CRD_B@14%+.2          +123.45      Laskentatulosominaisuus formatoituna

Erotinmerkit

Erotinmerkkeinä tietueiden välillä voidaan oletuksena käyttää välilyöntiä, tabulointia, pilkkua, puolipistettä, pystyviivaa ja &-merkkiä. Tabulaattori annetaan määrittelyssä ~-merkillä. Tyhjänä erottimena toimivaa &-merkkiä ei koskaan kirjoiteta tiedostoon eli se mahdollistaa tietueiden kirjoittamisen kiinni toisiinsa. Jos tietueelle on määrätty leveys, ei erottimena käytettyä välilyöntiä kirjoiteta. Muut erottimet kirjoitetaan, vaikka leveys olisikin annettu. Pystyviiva toimii rivinvaihtona mahdollistaen tietueiden kirjoittamisen eri riveille.

Esimerkkejä:

$T4@6 Z@10         1234    12.345   Vakiolevyiset kentät
$T4,Z            1234,12.345        Pilkulla erotetut kentät
$T4@6,Z@10        1234,    12.345   Vakiolevyiset pilkulla erotetut kentät
$T4&Z            123412.345         Yhteen kirjoitetut kentät
$T4|Z            1234               Monirivisen formaatin ensimmäinen rivi
                 12.345             Monirivisen formaatin toinen rivi
T1~T2~T3         12  34  56         Koodikentät tabuloinnilla erotettuna
"KP"&T4          KP123              Vakioteksti kiinni ominaisuudessa

Päivämäärä ja kellonaika

Ominaisuuksiin talletettuja päivämääriä tai kellonaikoja voidaan myös lukea ja kirjoittaa eri muodoissa. Formaatti määritellään merkeillä Y, YY, YYYY (vuosi), M, MM (kuukausi), D, DD (päivä), h, hh (tunti), m, mm (minuutti), s, ss (sekuntti) ja vapaavalintaisilla erotinmerkeillä näiden välissä. Kahdella merkillä annettu vuosi (YY) ilmoitetaan kahdella numerolla (09). Muut arvot kahdella merkillä täytetään nollilla vasemmalta (01:03:05). Sekunnnit voidaan myös näyttää desimaaleilla (.2). Kirjoitettavan päivämäärän on oltava ominaisuudessa muodossa 12.7.2009 (D.M.YYYY) ja kellonajan muodossa 12:34:56 (hh:mm:ss).

Esimerkkejä:

$DATE%D.M.YYYY          12.7.2009   3D-Win ominaisuuksien päivämäärän muoto
$TIME%hh:mm:ss           12:34:56   3D-Win ominaisuuksien kellonajan muoto
$DATE%YYYY-MM-DD       2009-07-12   ISO 8601 standardin mukainen päivämäärä
$TIME%hh:mm:ss.2      12:34:56.78   Sekunnit kahdella desimaalilla
$DATE%DDMMYY               120709   Vuosi kahdella numerolla

Värit

RGB väriarvoja voidaan lukea ja kirjoittaa formatointimääreillä R (punainen), G (vihreä), B (sininen) ja A (läpinäkyvyys). Yksittäinen kirjain tarkoittaa värikomponenttia normaalina kokonaislukuna ja kaksi peräkkäistä kirjainta komponenttia 16-järjestelmässä. Välilyönti erottimena voidaan antaa alaviivalla (_).

Esimerkkejä:

$COLOR%RRGGBB              FF0000   Punainen väri 3D-Win oletusmuodossa
$COLOR%RRGGBBAA          FF0000FF   Punainen väri läpinäkyvyyden kanssa
$COLOR%R_G_B              255 0 0   Punainen väri erillisinä komponentteina
$COLOR%C                      192   Harmaasävyarvo

Asteet, minuutit ja sekunnit

Aste-, minuutti- ja sekunttiosien formatointi määritellään pienillä kirjaimilla d, m ja s sekä mahdollisilla erotinmerkeillä niiden välissä. Määrittely voi sisältää näiden eri yhdistelmiä, mutta osien järjestyksen on aina oltava d-m-s eli asteet, minuutit ja sekunnit. Yksiköitä voidaan jättää pois, mutta minuuttien yli ei voi hypätä (yhdistelmä ds ei ole sallittu). Jos kirjoitettava arvo on negatiivinen, kirjoitetaan minuutit ja sekunnit silti aina ilman etumerkkiä. Kunkin yksikön leveys määritetään kirjainten määrällä: d, dd, ddd, m, mm, s tai ss. Lyhyemmät arvot täytetään vasemmalta nollilla. Yksiköiden välissä oleva erotin voi olla melkein mikä tahansa yksittäinen merkki. Jos erotinmerkillä on muissa formaattimäärittelyissä jokin erikoismerkitys (lainaus- ja heittomerkit, tietueiden erotinmerkit), on sen edelle laitettava kenoviiva (\). Välilyönti erottimena voidaan antaa myös alaviivalla (_).

Arvo voidaan muuntaa radiaaneiksi kirjaimella r tai gooneiksi kirjaimella g. Radiaanit voidaan myös kertoa kymmenen potenssilla lisäämällä kirjaimen r perään exponentti (esim. r4 kerroin on 10000). Kirjaimilla - ja ¤ voidaan arvo pakottaa joko välille -PI - PI tai 0 - 2xPI.

Esimerkkejä:

X@14%r.5                  1.23456   Arvo radiaaneina ja desimaaleina
X@14%r5.0                  123456   Arvo radiaaneina kerrottuna arvolla 100000.0
X@14%g.4                   1.2345   Arvo gooneina ja desimaaleina
X@14%-g.4                 -1.2345   Arvo gooneina välillä -PI - PI
X@14%¤g.4                  1.2345   Arvo gooneina välillä 0 - 2xPI
X@14%d.3                    1.234   Asteet desimaaleilla, sama kuin %.3
X@14%d.0<                       1   Pelkkä asteosa
X@14%dd.0<                     01   Asteosa kahdella merkillä
X@14%ddd.0<                   001   Asteosa kolmella merkillä
X@14%m.0<                       3   Pelkkä minuuttiosa
X@14%ss.0<                     05   Sekunttiosa kahdella merkillä
X@14%ddmm.3              0103.456   Asteosa ja minuutit desimaaleilla (NMEA)
X@14%ddmmss.3          010305.678   Asteosa, minuuttiosa ja sekunnit
X@14%d_m_s.3            1 3 5.678   Välilyönti erottimena
X@14%d°m\'s\".3        1°3'5.678"   Erottimina °, ' ja "
X@14%dd°mm\'ss\".3  01°03'05.678"   Erottimina °, ' ja " sekä täyttö nollilla

Makrot

Kirjoitettaessa voidaan käyttää samoja makroja kuin pisteryhmässä ja ominaisuushaussa. Normaali #-määrittely kirjoittaa vain annetun makron. Lisämääreellä = voidaan kirjoittaa makron eteen sen tunnus ja yhtäsuuruusmerkki. Makrolla #NAME voidaan kirjoittaa kooditiedostosta haettu T3-kentän koodin selitys. Tämä vaatii kooditiedoston nimen yleisiin muunninasetuksiin.

Luettaessa voidaan käyttää piirtotietojen makroja (#COLOR, #SIZE, jne.).

Esimerkkejä:

#NAME                   Hajapiste     Koodin selitys kooditiedostosta
#=NAME             NAME=Hajapiste     Tunnus ja koodin selitys kooditiedostosta
#SLOPE@8%.4               -0.1224     Viivan kaltevuus neljällä desimaalilla
#COUNT                         12     Viivan pisteiden määrä

Ominaisuudet

Normaali $-määrittely kirjoittaa vain annetun ominaisuuden. Lisämääreellä = voidaan kirjoittaa ominaisuuden eteen sen tunnus ja yhtäsuuruusmerkki. Lisäksi käyttämällä merkkiä * ominaisuuden nimenä voidaan kirjoittaa kaikki jäljellä olevat ominaisuudet. Jos merkin * jälkeen ei ole annettu erotinmerkkiä, käytetään ominaisuuksien välillä edellistä erotinmerkkiä.

Luettaessa ominaisuus takaisin =-merkin kanssa siinä mahdollisesti oleva tunnus poistetaan. Kun luetaan kaikki ominaisuudet määrittelyllä $=*, luetaan tietueita tunnuksineen niin kauan kuin niistä löytyy yhtäsuuruusmerkki. Määrittelyllä $* kirjoitettuja ominaisuuksien arvoja ei voida enää lukea takaisin samalla määrittelyllä.

Määrittelyllä $# voidaan kirjoitettaessa hakea kooditiedostosta ominaisuuden tosiarvo. Esimerkiksi määrittely $#T3 hakee koodin selityksen ja määrittely $#MAT materiaalin nimen. Tämä vaatii kooditiedoston nimen yleisiin muunninasetuksiin.

Esimerkkejä:

$T1                             9   Kentän T1 arvo
$=T1                         T1=9   Kentän T1 tunnus ja arvo
$*                        1 2 3 4   Kaikkien ominaisuuksien arvot
$#T3                    Hajapiste   Koodin selitys kooditiedostosta
$=*           T1=1 T2=2 T3=3 T4=4   Kaikkien ominaisuuksien tunnukset ja arvot
$T3,$=*          3,T1=1,T2=2,T4=4   Koodi ja kaikki loput ominaisuudet
$T3,'$=*'  3,T1='1',T2='2',T4='4'   Koodi ja loput ominaisuudet lainattuna

Viivat

Viivan pisteet voidaan kirjoittaa määrittelyn lopussa hakasuluissa olevalla toisto-osuudella. Hakasulkujen sisään kirjoitetaan yksittäisen viivapisteen kirjoitusmäärittely normaalien sääntöjen mukaan. Jos ennen hakasulkujen loppua ei ole annettu erotinmerkkiä, käytetään toistojen välillä edellistä erotinmerkkiä. Tätä kopioitua erotinmerkkiä ei kirjoiteta viimeisen toiston jälkeen.

Esimerkkejä:

$T2 [X.1 Y.1 Z.1]    2 12.3 67.7 1.2 98.7 54.3 3.4   Viivanumero ja koordinaatit
$T1,$T2,$T3,[X.1,Y.1]    1,2,3,12.3,67.7,98.7,54.3   Pinta, viiva, koodi ja koordinaatit
$T2 [$T4 X.1 Y.1]        2 1 12.3 67.7 2 98.7 54.3   Viiva, koordinaatit ja pistenumero
$=* [X.1 Y.1]        T1=1 T2=2 12.3 67.7 98.7 54.3   Ominaisuudet ja koordinaatit
$T2 $=* [X.1,Y.1 ]      2 T1=1 12.3,67.7 98.7,54.3   Ominaisuudet ja koordinaatit

Muuta

Kommenttimerkillä (!) alkavat rivit ohitetaan aina luettaessa. Kommenttirivejä ei kuitenkaan hyväksytä monirivisissä formaateissa tietueiden välillä.

Taiteviivojen lukeminen perustuu viivanumeron (kenttä T2) sisältöön. Jos kentän sisältö on tyhjä tai nolla, piste luetaan hajapisteenä. Muutoin pisteet lisätään lukujärjestyksessä viivaan ja uusi viiva aloitetaan, kun viivanumero (T2) tai koodi (T3) vaihtuu.


Erikoisasetukset

Muuntimeen liittyy erikoisasetuksia.

Escapes, Separators, Quotes, Comment

Neljä merkkijonosarjaa, joissa luokitellaan tekstiformaatin erikoismerkit. Näiden avulla on tarvittaessa mahdollista lukea myös formaatteja, joissa näillä erikoismerkeillä on oma merkityksensä.

Escapes        Poistaa määrittelyn merkin erityismerkityksen, oletus \.
Separators     Tietueiden erotinmerkit määrittelyssä, oletus " ~,;|&".
Quotes	       Vakiotekstien rajat määrittelyssä, oletus " ja '.
Comment        Rivin alun kommenttimerkit tiedostossa, oletus ! ja #.

Huomaa, että Escapes ja Quotes asetukset vaikuttavat vain formaatin määrittelyyn. Itse data voi sisältää näitä merkkejä vapaasti. Separator-asetuksen merkit vaikuttavat sekä määrittelyssä että itse datassa ja Comment-asetuksen merkit ainoastaan datassa.

User

Lukuasetus Topcon-formaatia varten.

31 Topcon-aineiston luku. Muuntaa $-merkit välilyönneiksi ja lukee &-merkin jälkeen viivanumeron.

102$7006019.356$22484348.667$23.197$710$Type=400$Asennusvuosi=1998
103$7006019.213$22484348.557$23.182$715$Halkaisija=160$Type=P V  C$Asennusvuosi=1995&1@

Katso myös: Yleiset erikoisasetukset.