Opas 3D-esineiden mallintamiseen

Samankaltaiset tiedostot
Suora 1/5 Sisältö ESITIEDOT: vektori, koordinaatistot, piste

Infra-alan tuotetietomallistandardit

Paikkatiedot metsäkeskussanomissa soveltamisohjeet

T Vuorovaikutteinen tietokonegrafiikka Tentti

Preliminäärikoe Tehtävät Pitkä matematiikka / 3

a b c d

Aki Taanila LINEAARINEN OPTIMOINTI

Tehtävä 8 : 1. Tehtävä 8 : 2

Paikkatiedon mallinnus Dokumentoinnin ymmärtäminen. Lassi Lehto

Talousmatematiikan perusteet: Luento 12. Lineaarinen optimointitehtävä Graafinen ratkaisu Ratkaisu Excel Solverilla

Luento 6: Tulostusprimitiivien toteutus

isomeerejä yhteensä yhdeksän kappaletta.

1. Lineaarinen optimointi

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

Monikulmiot 1/5 Sisältö ESITIEDOT: kolmio

keskenään isomorfiset? (Perustele!) Ratkaisu. Ovat. Tämän näkee indeksoimalla kärjet kuvan osoittamalla tavalla: a 1 b 3 a 5

Fraktaalit. Fractals. Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto. 1 / 8 R. Kangaslampi Fraktaalit

9. Vektorit. 9.1 Skalaarit ja vektorit. 9.2 Vektorit tasossa

Vapaus. Määritelmä. jos c 1 v 1 + c 2 v c k v k = 0 joillakin c 1,..., c k R, niin c 1 = 0, c 2 = 0,..., c k = 0.

Talousmatematiikan perusteet: Luento 11. Lineaarinen optimointitehtävä Graafinen ratkaisu Ratkaisu Excel Solverilla

Matriisit ja vektorit Matriisin käsite Matriisialgebra. Olkoon A = , B = Laske A + B, , 1 3 3

MS-A0305 Differentiaali- ja integraalilaskenta 3 Luento 7: Pintaintegraali ja vuointegraali

Kurssikoe on maanantaina Muista ilmoittautua kokeeseen viimeistään 10 päivää ennen koetta! Ilmoittautumisohjeet löytyvät kurssin kotisivuilla.

verkkojen G ja H välinen isomorfismi. Nyt kuvaus f on bijektio, joka säilyttää kyseisissä verkoissa esiintyvät särmät, joten pari

Mohrin-Mascheronin lause kolmiulotteisessa harppi-viivaingeometriassa

OpenStreetMap-aineistojen haltuunotto GDAL:lla

Kanta ja dimensio 1 / 23

7 tapaa mallintaa maasto korkeuskäyristä ja metodien yhdistäminen

Luento 2 Stereokuvan laskeminen Maa Fotogrammetrian perusteet 1

2.2. Kohteiden konstruktiivinen avaruusgeometrinen esitys

Avaruuden R n aliavaruus

Selvitys lokakuussa 2015

Insinöörimatematiikka D

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Tietotuoteseloste, Museoviraston Inspire-aineistot (Suojellut alueet)

Anna jokaisen kohdan vastaus kolmen merkitsevän numeron tarkkuudella muodossa

Luento 6: Geometrinen mallinnus

JHS 162 Paikkatietojen mallintaminen tiedonsiirtoa varten Liite 1 UML-mallinnus

Solmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä:

Luku 3. Listankäsittelyä. 3.1 Listat

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Taso 1/5 Sisältö ESITIEDOT: vektori, koordinaatistot, piste, suora

Ilkka Mellin Todennäköisyyslaskenta Osa 3: Todennäköisyysjakaumia Moniulotteisia todennäköisyysjakaumia

KESKEISET SISÄLLÖT Keskeiset sisällöt voivat vaihdella eri vuositasoilla opetusjärjestelyjen mukaan.

, on säännöllinen 2-ulotteinen pinta. Määrää T x0 pisteessä x 0 = (0, 1, 1).

ja λ 2 = 2x 1r 0 x 2 + 2x 1r 0 x 2

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus

Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden kanssa, joiden lakina on tietyn ominaisuuden samuus.

2016/06/21 13:27 1/10 Laskentatavat

(1) refleksiivinen, (2) symmetrinen ja (3) transitiivinen.

MS-A0207 Differentiaali- ja integraalilaskenta 2 (Chem) Yhteenveto, osa I

6 Vektoriavaruus R n. 6.1 Lineaarikombinaatio

Keskeiset aihepiirit

a b c d

Tekijä Pitkä matematiikka Suoran pisteitä ovat esimerkiksi ( 5, 2), ( 2,1), (1, 0), (4, 1) ja ( 11, 4).

Tampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus

Kuinka määritellään 2 3?

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 5 / vko 48

1 Lineaariavaruus eli Vektoriavaruus

SFS delegaattivalmennus

Moniulotteisia todennäköisyysjakaumia

Luento 2: Tulostusprimitiivit

Selvästi. F (a) F (y) < r x d aina, kun a y < δ. Kolmioepäyhtälön nojalla x F (y) x F (a) + F (a) F (y) < d + r x d = r x

Mikäli huomaat virheen tai on kysyttävää liittyen malleihin, lähetä viesti osoitteeseen

z 1+i (a) f (z) = 3z 4 5z 3 + 2z (b) f (z) = z 4z + 1 f (z) = 12z 3 15z 2 + 2

Vapo: Turveauman laskenta 1. Asennusohje

LABORAATIOSELOSTUSTEN OHJE H. Honkanen

33. pohjoismainen matematiikkakilpailu 2019 Ratkaisut

Cantorin joukon suoristuvuus tasossa

Tehtävä Vastaus

Malliratkaisut Demot

T Olio-ohjelmointi Osa 5: Periytyminen ja polymorfismi Jukka Jauhiainen OAMK Tekniikan yksikkö 2010

Kenguru 2016 Student lukiosarja

Muodolliset kieliopit

Insinöörimatematiikka D

Smart cities - nyt ja huomenna

Luku 4. Derivoituvien funktioiden ominaisuuksia.

v 8 v 9 v 5 C v 3 v 4

! 7! = N! x 8. x x 4 x + 1 = 6.

Moniulotteisia todennäköisyysjakaumia. Moniulotteisia todennäköisyysjakaumia. Moniulotteisia todennäköisyysjakaumia: Mitä opimme?

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

Algoritmit 2. Luento 6 To Timo Männikkö

Tero Pietilä, IT-Pie Oy. CityGML 2.0: Mitä tiedämme nyt?

Lineaariavaruudet. Span. Sisätulo. Normi. Matriisinormit. Matriisinormit. aiheita. Aiheet. Reaalinen lineaariavaruus. Span. Sisätulo.

Koordinaatistot 1/6 Sisältö ESITIEDOT: reaaliluvut


2016/07/05 08:58 1/12 Shortcut Menut

JHS 162 Paikkatietojen mallintaminen tiedonsiirtoa varten Liite 2 Paikkatietojen yleinen kohdemalli (GFM)

Vektorit, suorat ja tasot

Johdatus todennäköisyyslaskentaan Moniulotteisia todennäköisyysjakaumia. TKK (c) Ilkka Mellin (2005) 1

3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset. Olkoot A 2 := AA =

Algoritmit 2. Luento 6 Ke Timo Männikkö

Yleiset lineaarimuunnokset

JHS-suositukset ja standardit paikkatietotuotteiden toteuttamisessa

Duaalisuus kokonaislukuoptimoinnissa. Mat , Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki

11. Geometria Valikot ja näppäintoiminnot. Geometriasovelluksessa voit tehdä puhdasta tai analyyttista geometriaa.

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Helsingin yliopisto/ tktl DO Tietokantojen perusteet, s 2000 Relaatioalgebra Harri Laine 1. Relaatioalgebra

MS-A010{3,4,5} (ELEC*, ENG*) Differentiaali- ja integraalilaskenta 1 Luento 2: Sarjat

Liite 2: Verkot ja todennäköisyyslaskenta

Transkriptio:

Opas 3D-esineiden mallintamiseen Osa 1: Perusteet (säännöt GML-geometrioiden validointiin CityGML:ssä) Perustuu SIG3D Quality Working Group -ryhmän julkaisuun Madeling Guide for 3D Objects Part 1: Basics (Rules for Validating GML Geometrics in CityGML) Versio 0.7 FI Syyskuu 2015 http://www.sig3d.org http://en.wiki.quality.sig3d.org (c) 2012-2014 Special Interest Group SIG3D, German Spatial Data Infrastructure (GDI-DE) / Versio 0.7.1 (9/2015) Sivu 1

Dokumentin muutoshistoria Huom! Tila-sarake vain Wikissä, ei löydy PDF-versiosta! Versio Päivämäärä Tekijä(t) Tila Huomautuksia 0.1.0 01.10.2010 Coors Ei julkinen Ensimmäinen versio 0.2.0 14.10.2010 Coors Ei julkinen Lisätty Solid-kappale 0.3.0 23.10.2010 Gröger Ei julkinen Yhdistetty Grögerin dokumentin kanssa 0.4.0 23.11.2010 Coors Ei julkinen Sanamuotoja koskevia muutoksia, lisätty säännöt monikulmioiden tasomaisuudesta 0.5.0 24.11.2010 Gröger Ei julkinen Toteutettu K.-H. Häfelen CityGMLfoorumilla ehdottamia muutoksia 0.6.0 15.12.2010 Gröger Julkinen Lisätty G. Juenin ehdotuksia 0.7.0 20.01.2012 Karl-Heinz Häfele Ei julkinen Muuntaminen HTML-muotoon, Monikulmioiden tasomaisuutta koskevan luvun siirto, uusi luku CompositeSolid 0.7.0 EN Marraskuu 2013 Egbert Casper, Karl- Heinz Häfele Julkinen Englanninkielinen versio 0.7.0 FI Syyskuu 2015 Antti Yli-Tainio, Anssi Savisalo Julkinen Suomennos englanninkielisestä versiosta 0.7.0 (c) 2012-2014 Special Interest Group SIG3D, German Spatial Data Infrastructure (GDI-DE) / Versio 0.7.1 (9/2015) Sivu 2

Opas 3D-esineiden mallintamiseen - Osa 1: Perusteet (säännöt GML-geometrioiden validointiin CityGML:ssä) Sisällysluettelo Dokumentin muutoshistoria...2 Lähteet...4 Huomautuksia...4 1 Spatiaalinen viittausjärjestelmä (Spatial Reference System, SRS)...6 2 Määritelmiä...6 2.1 Sallitut geometriset vaihteluvälit...6 2.2 Monikulmioiden tasomaisuus...6 3 gml:poslist...7 4 gml:_curve, gml:linestring...7 5 gml:linearring...7 6 gml:polygon...10 7 gml:orientablesurface...11 8 gml:multisurface...12 9 gml:compositesurface...13 10 gml:solid...14 11 gml:compositesolid...16 12 gml:triangle...17 13 gml:triangulatedsurface...17 14 gml:tin...17 (c) 2012-2014 Special Interest Group SIG3D, German Spatial Data Infrastructure (GDI-DE) / Versio 0.7.1 (9/2015) Sivu 3

Lähteet Cox, S., Daisey, P., Lake, R., Portele, C., Whiteside, A. (2004): OpenGIS Geography Markup Language (GML) Implementation Specification. Version 3.1.1, OGC 03-105r1, Herring J. (2001): The OpenGIS Abstraction Specification, Topic 1: Feature Geometry (ISO 19107 Spatial Schema), Open Geospatial Consortium, OGC Document Number 01-101. OGC. Gröger, G., Kolbe, T., Czerwinski, A., and Nagel, C. (2008) (Eds.): OpenGIS City Geography Markup Language (CityGML) Encoding Standard, OGC reference number OGC 08-007r1 version 1.0.0, 2008 Gröger, G., Plümer, L. (2011): How to Achieve Consistency for 3D City Models. Geoinformatica, 15(1): 137-165, DOI: 10.1007/s10707-009-0091-6. Huomautuksia Tässä dokumentissa mainitut säännöt viittaavat GML:n versioon 3.1. Säännöt olettavat että käytetty data on GML 3.1 XML-skeeman mukaista. Säännöt koskevat vain sellaisia GML:n elementtejä, joita käytetään CityGML:ssä (ks. kuviot 1 ja 2). Jos tietty ehto pätee vain CityGML:ään (eikä GML:ään yleisesti) se mainitaan erikseen. (c) 2012-2014 Special Interest Group SIG3D, German Spatial Data Infrastructure (GDI-DE) / Versio 0.7.1 (9/2015) Sivu 4

Kuvio 1: CityGML:ssä käytetyn GML:n yleiskuvaus (yksinkertaiset tietotyypit ja komposiitit) Kuvio 2: CityGML:ssä käytetyn GML:n yleiskuvaus (monimutkaiset tietotyypit ja aggregaatit) (c) 2012-2014 Special Interest Group SIG3D, German Spatial Data Infrastructure (GDI-DE) / Versio 0.7.1 (9/2015) Sivu 5

1 Spatiaalinen viittausjärjestelmä (Spatial Reference System, SRS) Jokaisella geometriaelementillä (pos, poslist ja koordinaatit) on oltava joko srsname-ominaisuus soveltuvalla arvolla, tai sen tulee periä srsname-ominaisuus sen vanhemmilta (vaikka ominaisuus olisi peritty rekursiivisesti vanhempien vanhemmilta, jne.), tai sen vanhempien kautta gml:envelope (tai gml:box) -elementiltä sen gml:boundedby ominaisuuden arvosta (tarvittaessa rekursiivisesti). Paikallisesti annettu srsname-ominaisuus on ensisijainen perittyyn srsname-ominaisuuteen verrattuna. Jos dimensioiden määrää ei voida päätellä yksiselitteisesti, tulee geometriaelementeille (pos, poslist) määrittää ominaisuus srsdimension, joka kertoo ulottuvuuksien määrän. 2 Määritelmiä 2.1 Sallitut geometriset vaihteluvälit 2.2 Monikulmioiden tasomaisuus Gröger et. al. (2008) määrittelevät pinnat CityGML:ssä seuraavasti: Pinnat esitetään CityGML:ssä tasomaisina monikulmioina, joiden ulkosärmät ja kaikki sisäpisteet sijaitsevat samassa tasossa. Monikulmion rajat määritellään yhden tai useamman lineaarisen kehän avulla (Linear Rings; ks. gml:polygon). Käytännöllisesti katsottuna myös lineaarisiin kehiin tulisi lukea myös kappaleet, jotka eivät ole täysin tasomaisia. Intuitiivisesti lineaarisen kehän R voidaan sanoa olevan tasomainen, jos on olemassa taso E, joka on samalla etäisyydellä kaikista lineaarisen kehän R pisteitä P i annettu kynnysarvo ε huomioiden. Tämä kuitenkin mahdollistaisi myös pieniä taitoksia sisältävien lineaaristen kehien lukemisen tasomaisiksi, kuten kuviossa 3 on esitetty. Kuvio 3: Lineaarisissa kehissä ei tulisi ilmetä kaarteita tai taitoksia Näiden tilanteiden välttämiseksi lineaaristen kehien tasomaisuus määritellään seuraavasti: Määritelmä 1: Lineaarinen kehä R on tasomainen, jos se on oikein määritelty lineaarinen kehä, ja kaikkien pisteiden etäisyys kollineaaristen pisteiden P i, P j ja P k määrittämästä tasosta E ijk on pienempi kuin annettu kynnysarvo ε : E ijk P a =dist (P a,e ijk ) ε (c) 2012-2014 Special Interest Group SIG3D, German Spatial Data Infrastructure (GDI-DE) / Versio 0.7.1 (9/2015) Sivu 6

3 gml:poslist Listaan kuuluvien alkioiden määrän tulisi vastata sijaintien määrän ja SRS-dimensioiden tuloa (dimensiota CityGML:ssä yleensä kolme). 4 gml:_curve, gml:linestring gml:linestring on objektin _Curves ainoa sallittu alatyyppi (koskee vain CityGML:iä) gml:linestring on lineaarisesti interpoloitavissa. Seuraavien ehtojen on täytyttävä gml:linestring elementin lapsielementeillä (kiintopisteet): Ne muodostavat sarjan "pos" (DirectPositionType) tai "pointproperty" (PointPropertyType) -elementtejä. "pos"-elementit ovat kiintopisteitä, jotka kuuluvat vain tähän käyrään (Curve). "pointproperty"-elementit sisältävät pisteitä joihin on mahdollista viitata muista geometrioista tai jotka voivat itse viitata muissa geometrioissa määriteltyihin pisteisiin (XLink:n kautta). Vaihtoehtoisesti gml:linestring voi koostua "poslist" elementistä, mikä tarjoaa tiiviin tavan koordinaattien esittämiseen. Tässä tapauksessa kaikkien kiintopisteiden tulee kuulua samaan Curve-elementtiin, ja ne tulee antaa samassa SRS-koordinaatistossa. Pisteitä (Direct Position) on oltava vähintään kaksi. Jokainen kiintopiste esiintyy gml:linestring -elementissä vain kerran, paitsi ensimmäinen ja viimeinen piste, jotka voivat olla keskenään identtisiä. gml:linestring -elementin särmät (viivat) määritellään kahden peräkkäisen kiintopisteen perusteella. Nämä särmät eivät saa ristetä keskenään, eivätkä omata samoja pisteitä. Poikkeuksen sääntöön muodostavat pisteparit, jotka edustavat yhden särmän päätepistettä ja sarjan seuraavan särmän alkupistettä. 5 gml:linearring Lineaarinen kehä on CityGML:ssä kolmiulotteisten geometrioiden kuvaamisen perusyksikkö. Jokainen rakennuksen geometriaa kuvaava monikolmio määritellään rajansa lineaarisen kehän perusteella. Sarja on järjestetty lista elementtejä. Toisin kuin joukossa, sarjassa alkioiden järjestyksellä on merkitystä ja samat elementit voivat esiintyä useita kertoja eri kohdissa sarjaa. Äärellinen sarja a, jossa on n+1 elementtiä merkitään a=(a 0,a 1,, a n ). Tyhjässä sarjassa a=() ei ole elementtejä. Äärellinen sarja pisteitä R=(P 0,..., P n ), n 3, P i =(x i, y i, z i ) on lineaarinen kehä, jos: (i) ensimmäinen ja viimeinen piste, P 0 ja P n, edustavat samaa pistettä: P 0 =P n (sulkeutuvuus) (ii) Kaikki pisteet alku- ja loppupistettä lukuun ottamatta ovat erilaisia: i=0... n 1 k=0... n 1 i k P i P k (iii) Kaksi särmää (P i,p i+ 1 ) ja (P k,p k+1 ) i=0 n 1, k=0 n 1, i k voivat ristetä vain yhden alku-/loppupisteen kohdalla. Mitään muuta risteämistä ei sallita (ei risteämistä itsensä kanssa). Jos sarjan kaikki pisteet ovat samassa tasossa, on lineaarinen kehä tasomainen. (c) 2012-2014 Special Interest Group SIG3D, German Spatial Data Infrastructure (GDI-DE) / Versio 0.7.1 (9/2015) Sivu 7

Esimerkkejä: R=( P 0,P 3,P 0 ), jossa P 0 =(1,1,1) P 1 =(3,1,1) P 2 =(3,3,1) P 3 =(1,3,1) <gml:linearring> <gml:pos>1 1 1</gml:pos> <gml:pos>3 1 1</gml:pos> <gml:pos>3 3 1</gml:pos> <gml:pos>1 3 1</gml:pos> <gml:pos>1 1 1</gml:pos> </gml:linearring> Kuvio 4: Tasomainen lineaarinen kehä: määritelmä, GML, sekä graafinen esitys Huomautus: Lineaariset kehät R 1 =(P 0,P 3,P 0 ) ja R 2 =( P 0,P 3,P 0 ) eivät ole identtisiä. R=( P 0,P 3 ) R=( P 0,P 3,P 0 ) R=( P 0,P 4,P 3,P 4,P 0 ) Ei lineaarinen kehä: ei suljettu (ks. ehto (i), sulkeutuvuus) Kuvio 5: Esimerkkejä epäkelvoista lineaarisista kehistä Ei lineaarinen kehä: risteää itsensä kanssa (ks. ehto (iii)) Ei lineaarinen kehä: Piste P 4 esiintyy kahdesti (ks. ehto (ii), P 4 =(2,2,1) ) (c) 2012-2014 Special Interest Group SIG3D, German Spatial Data Infrastructure (GDI-DE) / Versio 0.7.1 (9/2015) Sivu 8

R=( P 0,P 4,P 3,P 0 ) R=( P 0,P 0 ) Lineaarinen, mutta ei-tasomainen kehä P 4 =(2,4,0) Kehä ei ole lineaarinen: kaikki pisteet samassa tasossa, mutta risteää itsensä kanssa (ks. (iii)) Kuvio 6: Erityistapauksia: ei-tasomainen ja kollineaarinen lineaarinen kehäelementti. (c) 2012-2014 Special Interest Group SIG3D, German Spatial Data Infrastructure (GDI-DE) / Versio 0.7.1 (9/2015) Sivu 9

6 gml:polygon Monikulmio S määritetään sen ulkokehän (lineaarisen kehän) R s avulla. Monikulmiolla on tasan yksi ulkokehä. Lisäksi monikulmiolla voi olla n 0 sisäkehää. Myös nämä sisäkehät ovat lineaarisia kehiä. Kaikkien sisäkehien ja ulkokehän tulee sijaita samassa tasossa (sallitun poikkeaman rajoissa). Sisäkehät määrittävät monikulmiossa olevia aukkoja, ja niiden tulee siten sijaita kokonaan ulkokehän määrittämällä alueella. Kuvio 7: Vasemmalla monikulmio ja oikein määritelty sisäkehä. Oikeanpuoleisen monikulmion sisäkehä on puolestaan väärin määritelty. Sisäkehät eivät saa olla päällekkäisiä muiden lineaaristen kehien kanssa, eivätkä ne saa olla sisäkkäisiä muiden lineaaristen kehien kanssa (pois lukien ulkokehän lineaarinen kehä). Kuvio 8: Vasemmalla monikulmio, jossa on kaksi oikein muodostettua sisäkehää. Oikealla monikulmio, jossa sisäkehät ovat virheellisesti sisäkkäisiä. Sisäkehät ja ulkokehät voivat koskettaa toisiaan rajallisessa määrässä pisteitä. Monikulmion alueen on oltava yhtenäinen. (c) 2012-2014 Special Interest Group SIG3D, German Spatial Data Infrastructure (GDI-DE) / Versio 0.7.1 (9/2015) Sivu 10

Kuvio 9: Vasemmalla monikulmio, jossa oikein muodostettu sisäkehä koskettaa ulkokehää yhdessä pisteessä. Oikealla monikulmion väärin muodostettu sisäkehä koskettaa ulkokehää kahdessa pisteessä tavalla, joka jakaa monikulmion alueen kahtia. Ulkokehän pisteiden järjestys määrää monikulmion orientaation. Ei-kollineaariset pisteet P i, P j ja P k määrittävät tason E( P i,p j,p k ). Normaalivektori n saadaan kahden vektorin P i P j ja P j P k ristitulona: n= P i P j P j P k P i P j P j P k Huomautus: lineaaristen kehien tasomaisuudelle annettujen toleranssien vuoksi normaalivektori voi olla monitulkintainen. Huomautus: Kaksi lineaarista kehää R 1 =(P 0,P 3,P 0 ) ja R 2 =( P 0,P 3,P 0 ) määrittävät monikulmiot, joilla on sama geometrinen ulottuvuus mutta eri orientaatio. Kuvio 10: Monikulmio ja normaalivektori n 7 gml:orientablesurface Jos OrientableSurface-elementin ominaisuuden orientation arvo on "+", on OrientableSurface-elementin orientaatio sama kuin basesurface-elementin. Jos ominaisuuden orientation arvo on "-", on OrientableSurface-elementin normaalin orientaatio on päinvastainen basesurface-elementtiin verrattuna. Ominaisuuden orientation oletusarvo on "+". Elementti basesurface viittaa peruspintaan XLink-ominaisuuden kautta, tai basesurface -elementti sisältää peruspinnan lapsielementtinä. Peruspinnan orientaatio on positiivinen. (c) 2012-2014 Special Interest Group SIG3D, German Spatial Data Infrastructure (GDI-DE) / Versio 0.7.1 (9/2015) Sivu 11

8 gml:multisurface MultiSurface on järjestämätön joukko M={S 1,S 2,...S n } monikulmioita. MultiSurface-elementille ei aseteta mitään muita rajoituksia. Joukon M ei tarvitse muodostaa yhtenäistä pintaa. Monikulmioiden orientaatiolla ei ole merkitystä. MultiSurface-elementin avulla on mahdollista esittää mikä tahansa monikulmioista koostuva kiinteän kappaleen ulkopinta. Valitettavasti tämä mahdollistaa myös sellaisten esineiden mallintamisen, joita ei esiinny todellisessa tilassa. Rajoitteiden puuttumisen takia on suositeltavaa, että MultiSurface-elementtejä käytetään vain rakennusmallin eivolymetristen (tilavuudettomien) osien mallintamiseen, kuten on tehty kuviossa 11. Tilavuutta omaavat osat tulisi mallintaa Solid-elementteinä (ks. gml:solid). Kuvio 11: Räystäiden mallintaminen yksinkertaisilla monikulmioilla. Vasemmanpuoleinen malli on muodostettu MultiSurface-elementistä, joka koostuu seitsemästä monikulmiosta. Tilavuuden laskeminen ei ole mahdollista, koska kyseessä ei ole suljettu kappale. Oikeanpuoleinen malli saman geometrian rakennuksesta on suosituksen mukaisesti muodostettu yhdestä Solid-elementistä (rakennus), sekä MultiSurface-elementin avulla määritellyistä räystäsylityksistä (monikulmiot F6 ja F8). Ks. myös CityGML standardi v1.0, s. 61). (c) 2012-2014 Special Interest Group SIG3D, German Spatial Data Infrastructure (GDI-DE) / Versio 0.7.1 (9/2015) Sivu 12

9 gml:compositesurface CompositeSurface on joukko C={S 1,S 2,...,S n } monikulmioita, joihin pätevät seuraavat: 1. Kahden joukkoon C kuuluvan monikulmion S k ja S l leikkaus on joko tyhjä tai koostuu ainoastaan pisteistä ja/tai reunoista, jotka esiintyvät molemmissa lineaarisissa kehissä. Merkitään monikulmiota S määrittävää lineaarista kehää R k =( P 0 k k,...,p nk ). Tällöin on voimassa: S i S k ={ {Q 0, Q 1,...,Q m },Q j =P k i k } {e 0,e 1,...,e m },e j =P i k P i +1 2. Jokaista monikulmiota S k C määrittävää särmää e k =P k k i P i+1 lineaarisessa kehässä R k =(P k 0,P k 1,...,P nk ) käytetään korkeintaan kerran särmänä e l =P l l j P j +1 toista monikulmiota S l C määrittävässä lineaarisessa kehässä R l =( P l 0,P l l 1,...,P m ). Tällöin P k l i =P j+1 l ja P i+1 =P j 3. Joukkoon C kuuluvat monikulmiot on orientoitu niin, että vierekkäisten monikulmioiden normaalivektorit osoittavat samaan suuntaan. 4. Kaikkien joukon C monikulmioiden unioni ilman monikulmioita koskettavia särmiä tai pisteitä, on isomorfinen monikulmion kanssa. Ehdoista (1) ja (2) seuraa, että joukon C määrittämän pinnan ei tule sisältää keskenään päällekkäisiä tai toisiaan leikkaavia monikulmioita (monikulmioita, jotka koskettavat toisiaan muuten kuin pisteiden tai särmien kohdalla).. (c) 2012-2014 Special Interest Group SIG3D, German Spatial Data Infrastructure (GDI-DE) / Versio 0.7.1 (9/2015) Sivu 13

10gml:Solid Kiinteät kappaleet esitetään avaruusgeometrialla. Kiinteiden kappaleiden pinnat määritellään joukolla monikulmioita, joilla on seuraavat ominaisuudet. Joukko C={S 1,S 2,...,S n } monikulmioita määrittää kiinteän kappaleen (Solid) jos: 1. Kahden joukkoon C kuuluvan monikulmion S k ja S l leikkaus on joko tyhjä tai sisältää vain pisteitä P ja reunoja e jotka kuuluvat molempiin lineaarisiin kehiin. Monikulmion S määrittää lineaarinen kehä R k =(P 0 k k,...,p nk ). Monikulmioiden S k ja S l leikkaus on yhtä kuin: S i S k ={ {Q 0, Q 1,...,Q m },Q j =P k i k } {e 0,e 1,...,e m },e j =P i k P i +1 2. Jokaista monikulmiota S k C määrittävää lineaarisen kehän R k =( P k 0,P k 1,...,P nk ) särmää e k =P k k i P i+1 käytetään särmänä e l =P l l j P j +1 tasan kerran lineaarisessa kehässä R l =(P 0 l l,...,p m l ), määrittäen uuden monikulmion S l C jossa P k l i =P j+1 l ja P i+1 =P j. 3. Kaikki joukkoon C kuuluvat monikulmiot on suunnattu niin että jokaisen monikulmion normaalivektori osoittaa kiinteästä kappaleesta ulospäin. 4. Kaikki joukkoon C kuuluvat monikulmiot ovat yhteydessä toisiinsa, siten että joukon C duaaliverkko sisältää kaikki solmut sisältävän polun. Joukon C duaaliverkko G C =(V C,E C ) koostuu joukosta solmuja, V C, ja joukosta särmiä, E C. Jokainen joukon V C solmu v edustaa tasan yhtä joukon C monikulmiota. Kahden joukon C monikulmion, S k ja S l, jakamaa särmää edustaa joukossa E C särmä e=( v s k,v s l ). 5. Jokaiselle monikulmioon C kuuluvalle lineaarisen kehän pisteelle P on voimassa seuraava: Verkko G p =(V p,e p ), joka koostuu vain monikulmioista ja särmistä, jotka koskettavat pistettä P, on yhtenäinen. Jokainen joukon V P solmu v edustaa monikulmiota jonka lineaariseen kehään sisältyy piste P. Kaksi solmua on yhteydessä toisiinsa joukon E P särmän e kautta, jos solmujen edustamilla monikulmioilla on yhteinen särmä, joka koskee pistettä P. 1 Säännöistä (1) ja (2) seuraa, että kappaleen C pinnassa ei ole aukkoja. Yhdessä sääntöjen (4) ja (5) kanssa tästä seuraa että joukon C määrittämän kiinteän kappaleen S pinta on yhtenäinen ja merkitään suljetuttuna CompositeSurface-pintana. 1 Ehto (5) on ekvivalentti Gröger & Plümer (2011) esittämän umbrella -aksiooman kanssa. Tämä aksiooma määritellään seuraavasti: Each point is surrounded by exactly one cycle that is an alternating sequence of line segments and polygons (Jokaista pistettä ympäröi tasan yksi sykli, joka on sarja perättäisiä vuorottelevia janoja ja monikulmioita). (c) 2012-2014 Special Interest Group SIG3D, German Spatial Data Infrastructure (GDI-DE) / Versio 0.7.1 (9/2015) Sivu 14

Esimerkkejä: Oikein: 6 pintaa, suljettu, pinnat oikeansuuntaisia Oikein: 11 pintaa, suljettu, pinnat oikeansuuntaisia Oikein: 10 pintaa, suljettu, pinnat oikeansuuntaisia Oikein: 30 pintaa, suljettu, pinnat oikeansuuntaisia Väärin: 5 pintaa, ei suljettu, pinnat oikeansuuntaisia Väärin: 6 pintaa, suljettu, pinnat vääränsuuntaisia Väärin: 12 pintaa, ei suljettu (kaksi erillistä osaa), pinnat oikeansuuntaisia Väärin: 12 pintaa, ei suljettu (sisä- ja ulkokuoret), pinnat oikeansuuntaisia (c) 2012-2014 Special Interest Group SIG3D, German Spatial Data Infrastructure (GDI-DE) / Versio 0.7.1 (9/2015) Sivu 15

11 gml:compositesolid CompositeSolid kuvaa ei-tyhjän joukon C={S 1,...,S n } Solid-elementtejä (ks. 10), ja sille on voimassa seuraavaa: 1. Kahden Solid-elementin S i ja S j, 1 i n, 1 j n, i j, sisäosien leikkaus on tyhjä, toisin sanoen joko molemmat Solid-elementit S i, S j ovat erillisiä tai ne koskettavat vain pintojen, janojen tai pisteiden kohdalla. 2. Olkoon C' kaikkien joukon C Solid-elementtien unioni. Tällöin joukon C' reuna on yhdistetyn elementin reuna ( C' :n pinta ilman pintoja tai pisteitä, joissa Solid-elementit koskettavat). CityGML:ssä sulkeumat (onkalot) eivät Solid-elementtien tapaan ole CompositeSolids-elementeissä sallittuja. Esimerkkejä: Oikein; pinnat koskettavat Oikein; pinnat koskettavat Oikein; pinnat koskettavat Oikein; pinnat koskettavat Väärin; vain särmät koskettavat Väärin; vain pistekosketus Väärin; ei kosketusta Väärin; päällekkäisiä Väärin; 26 kuutiota, joiden pinnat koskettavat... mutta jossa on sisäinen onkalo. Väärin; sisäpuoleisia rajapintoja (c) 2012-2014 Special Interest Group SIG3D, German Spatial Data Infrastructure (GDI-DE) / Versio 0.7.1 (9/2015) Sivu 16

12gml:Triangle Triangle (kolmio) on erityistapaus monikulmiosta, ja sen määrittää lineaarinen kehä, joka koostuu neljästä pisteestä. Ei voi sisältää sisäkehiä (ei elementtiä interior ). 13gml:TriangulatedSurface TriangulatedSurface (kolmioitu pinta) on CompositeSurface, joka koostuu pelkästään kolmioista, mutta ei ole suljettu (sillä voi olla reunaviivoja). Sille miten kolmiointi on johdettu ei aseteta rajoituksia. 14gml:Tin Toisin kuin elementeissä gml:triangulatedsurface, tyypin gml:tin elementtejä ei esitetä eksplisiittisesti, vaan se määritellään kolmen kulmapisteensä avulla (ns. kiintopisteet). Lisäksi gml:tin -elementissä voidaan esittää taiteviivoja (breaklines), pysäytysviivoja (stop lines) ja kolmion särmän maksimipituus. 1. TIN on kolmioitu pinta, joka luodaan Delaunay-algoritmin tai vastaavan algoritmin avulla (lisättynä taiteviivoilla, pysäytysviivoilla ja kolmion särmän maksimipituudella). Pinta täyttää ns. Delaunay-kriteerin: 1. Jokaiselle verkoston kolmiolle on voimassa, että sen kulmapisteiden kautta piirretyn ympyrän sisäpuolella ei ole minkään muun kolmion kulmapisteitä. 2. Pysäytysviivat ovat viivoja, joiden kohdalla pinnan paikallinen jatkuvuus tai säännöllisyys on kyseenalaista. Näiden poikkeamien alueella, kolmiot jotka risteävät pysäytysviivan kanssa poistetaan TINpinnasta, mikä jättää pintaan aukkoja. Jos pinnan reunaan kuuluvia kolmioita poistetaan, pinnan raja muuttuu. 3. Taiteviivat ovat pinnan muodon kannalta kriittisiä viivoja, jotka edustavat paikallisia harjanteita tai syvänteitä pinnassa. Pinnan oleellisina osina ne tulee sisällyttää TIN-pintaan siinäkin tapauksessa, että ne rikkovat Delaunay-kriteeriä. 4. Sellaiset pinnan osat, joiden alueesta ei ole riittävän tiheästi dataa laskentaa varten poistetaan pinnasta säilytyskriteerin avulla, joka perustuu kolmion särmien pituuteen. Jos jokin kolmion särmä ylittää suurimman sallitun pituuden, tähän särmän viereiset kolmiot poistetaan pinnasta. 5. Kiintopisteitä on oltava ainakin kolme. 6. Kiintopisteiden järjestyksellä ei ole vaikutusta pintaan. Sovellusskeemat voivat lisätä elementteihin kiintopisteiden järjestykseen perustuvaa tietoa auttamaan TIN-pinnan uudelleenmuodostusta kiintopisteiden perusteella. (c) 2012-2014 Special Interest Group SIG3D, German Spatial Data Infrastructure (GDI-DE) / Versio 0.7.1 (9/2015) Sivu 17