Geo-information and computational

Peter J.M. van Oosterom and Marc J. van Kreveld (Editors)

Geo-information and computational geometry

Peter J.M. van Oosterom and Marc J. van Kreveld (Editors)

NCG Nederlandse Commissie voor Geodesie Netherlands Geodetic Commission 44

Delft, September 2006 Geo-information and computational geometry Peter J.M. van Oosterom and Marc J. van Kreveld (Editors) Nederlandse Commissie voor Geodesie Netherlands Geodetic Commission 44, 2006 ISBN-10: 90 6132 299 5 ISBN-13: 978 90 6132 299 3

Published by: NCG, Nederlandse Commissie voor Geodesie, Netherlands Geodetic Commission, Delft, The Netherlands Printed by: Optima Grafische Communicatie, Optima Graphic Communication, Rotterdam, The Netherlands Cover illustration: Axel Smits

NCG, Nederlandse Commissie voor Geodesie, Netherlands Geodetic Commission P.O. Box 5058, 2600 GB Delft, The Netherlands T: +31 (0)15 278 28 19 F: +31 (0)15 278 17 75 E: [email protected] W: www.ncg.knaw.nl

The NCG, Nederlandse Commissie voor Geodesie, Netherlands Geodetic Commission is part of the Royal Netherlands Academy of Arts and Sciences (KNAW) Contents

Editorial vii Peter van Oosterom and Marc van Kreveld

Computational Geometry: Its objectives and relation to GIS 1 Marc van Kreveld

,2DQG&DFKH(I¿FLHQW$OJRULWKPVIRU6SDWLDO'DWD  0DUNGH%HUJ

4XDG(GJHVDQG(XOHU2SHUDWRUVIRU$XWRPDWLF%XLOGLQJ([WUXVLRQ8VLQJ/,'$5'DWD  &KULVWRSKHU*ROGDQG5HEHFFD7VH

$OJRULWKPVIRUFDUWRJUDPVDQGRWKHUVSHFLDOL]HGPDSV  Bettina Speckmann

&RQVWUDLQHGWHWUDKHGUDOPRGHOVDQGXSGDWHDOJRULWKPVIRUWRSRJUDSKLFGDWD  )ULVR3HQQLQJD

7RZDUGVLPSURYHGVROXWLRQVFKHPHVIRU0RQWH&DUORVLPXODWLRQLQHQYLURQPHQWDO  PRGHOLQJODQJXDJHV 'HUHN.DUVVHQEHUJDQG.RUGH-RQJ

v vi Editorial

*HRJUDSKLF,QIRUPDWLRQ6FLHQFH *,6 LVDPXOWLGLVFLSOLQDU\UHVHDUFKDUHD&RQWULEXWLRQVIURP WKHVSDWLDOVFLHQFHVFRPHIURPJHRGHV\JHRJUDSK\DQGFDUWRJUDSK\ZKHUHDVFRQWULEXWLRQVIURP FRPSXWHUVFLHQFHFRPHIURPGDWDEDVHVDUWL¿FLDOLQWHOOLJHQFHDQGFRPSXWDWLRQDOJHRPHWU\)XU- WKHUPRUHYHU\GLIIHUHQWUHVHDUFKDUHDVZKHUH*,6DUHXVHGOLNHVSDWLDOSODQQLQJDUFKDHRORJ\ JHRORJ\FLYLOHQJLQHHULQJDQGELRORJ\DOVRSHUIRUPDSSOLHGUHVHDUFKLQ*,6

&RPSXWDWLRQDOJHRPHWU\LVDOODERXWGRLQJJHRPHWULFFRPSXWDWLRQVE\WKHFRPSXWHU)RUWKLV DGGLWLRQDO WKHRU\LVEHLQJGHYHORSHGEDVHGRQWKHIRXQGDWLRQRIPDWKHPDWLFV'DWDVWUXFWXUHV DQGDOJRULWKPVDUHGHYHORSHGWRVROYHJHRPHWULFSUREOHPVRIWHQZLWKSURYHQZRUVWFDVH DQG VRPHWLPHVDOVRZLWKRWKHU WLPHDQGPHPRU\ERXQGV&RPSXWDWLRQDOJHRPHWU\WHFKQLTXHVFDQ EHDQGDUHDSSOLHGLQPDQ\GLIIHUHQWGRPDLQVYLVLRQSDWKSODQQLQJJDPLQJJUDSKLFVURERWLFV PHGLFDOLPDJHSURFHVVLQJDQGRIFRXUVHDOVRLQ*,6

7KHVHPLQDUµ*HR,QIRUPDWLRQDQG&RPSXWDWLRQDO*HRPHWU\¶RIWKH1HWKHUODQGV*HRGHWLF&RP- PLVVLRQ MRLQWO\RUJDQL]HGZLWK*HR,QIRUPDWLH1HGHUODQG ZDVGHYRWHGWRWKHUHODWLRQVKLSVEH- WZHHQ*,6DQGFRPSXWDWLRQDOJHRPHWU\,QD*,6FRPSXWDWLRQVZLWKFRRUGLQDWHVDUHQHHGHG ZKHUHDVFRPSXWDWLRQDOJHRPHWU\LVDERXWGHYHORSLQJPHWKRGVWRGRVR7KHVHPLQDUDLPHGWR LPSURYHWKHXQGHUVWDQGLQJRIWKHWZRUHVHDUFK¿HOGVVRWKDWLQWHUDFWLRQLQWKHIXWXUHLVIXUWKHU VWUHQJWKHQHG:HKRSHWKDWWKHVWXG\GD\KDVUHVXOWHGLQODVWLQJQHZFRQWDFWVEHWZHHQDOOSHRSOH LQWKH1HWKHUODQGVZLWKDQLQWHUHVWLQJHRPHWULFFRPSXWLQJLQ*,6

7KHFRQWULEXWLRQVUHÀHFWWKHGLYHUVLW\RIWKHSRVVLEOHLQWHUDFWLRQVEHWZHHQFRPSXWDWLRQDOJHRP- HWU\DQG*,67KHWRSLFVRIWKHFRQWULEXWLRQVUDQJHIURPRYHUYLHZVRIUHOHYDQWWHFKQLTXHVDQG WRROVWRVROYLQJVSHFL¿FVSDWLDOSUREOHPVLQHLWKHUWKHREMHFWEDVHG YHFWRU RU¿HOGEDVHG UDVWHU  GRPDLQ7KLVSXEOLFDWLRQLVDUHÀHFWLRQRIWKHGLIIHUHQWVHPLQDUFRQWULEXWLRQV

7KH ¿UVW SDSHU µ&RPSXWDWLRQDO *HRPHWU\ ,WV REMHFWLYHV DQG UHODWLRQ WR *,6¶LV E\ 0DUF YDQ .UHYHOG 8WUHFKW8QLYHUVLW\ 7KHDQDO\VLVRIDOJRULWKPVLQYROYHVXQGHUVWDQGLQJKRZHI¿FLHQWO\ DQDOJRULWKPVROYHVDSUREOHP2QHRIWKHPDLQREMHFWLYHVRIFRPSXWDWLRQDOJHRPHWU\LV¿QGLQJ WKHPRVWHI¿FLHQWDOJRULWKPVIRUDOOVRUWVRIJHRPHWULFSUREOHPV+HLQWURGXFHVWKHPDLQFRQFHSWV DQGLGHDVLQFRPSXWDWLRQDOJHRPHWU\LQFOXGLQJHI¿FLHQF\DQDO\VLVLQWUDFWDELOLW\RXWSXWVHQVL- WLYHDOJRULWKPVDQGDSSUR[LPDWLRQDOJRULWKPV7KHEDVLFSUREOHPVRIFRPSXWDWLRQDOJHRPHWU\ DOOKDYHDGLUHFWRULQGLUHFWXVHWR*,6+HDOVRLQGLFDWHVZK\FRPSXWDWLRQDOJHRPHWU\LVQRWDV XVHIXOWR*,6DVLWFRXOGEH FRPSOLFDWHGDOJRULWKPVIRFXVRQZRUVWFDVHHI¿FLHQF\DQGRQZHOO GH¿QHGVLPSOHWRVWDWHSUREOHPV DQGKRZWKLVLVFXUUHQWO\LPSURYLQJ DYDLODEOHVRIWZDUHOLEUDU- LHVVLPSOHUDOJRULWKPVSURYDEO\HI¿FLHQWXQGHUUHDOLVWLFDVVXPSWLRQV 

0DUNGH%HUJ 78(LQGKRYHQ DGGUHVVHVRQHRIWKHLVVXHVWRPDNHFRPSXWDWLRQDOJHRPHWU\WHFK- QLTXHVPRUHDSSOLFDEOHLQSUDFWLFHQDPHO\WKHKDQGOLQJRIODUJHGDWDVHWVWKDWGRQRW¿WLQPDLQ PHPRU\ DVRIWHQPRUHRUOHVVLPSOLFLWO\DVVXPHGLQWKHGHVFULSWLRQRIPDQ\GDWDVWUXFWXUHVDQG DOJRULWKPV ,QKLVSDSHUµ,2DQG&DFKHHI¿FLHQW$OJRULWKPVIRU6SDWLDO'DWD¶KHH[SODLQVKRZ WKHKLHUDUFKLFDOPHPRU\FRQVLVWLQJRIDGLVNPDLQPHPRU\DQGVHYHUDOOHYHOVRIFDFKHVKRXOGEH LQFOXGHGLQGDWDVWUXFWXUHDQGDOJRULWKPGHVLJQ7KHGLIIHUHQFHEHWZHHQWKHWLPHVWRDFFHVVWKHVH GLIIHUHQWOHYHOVRIPHPRU\LVTXLWHODUJHWKHGLVNLVW\SLFDOO\DERXWWLPHVVORZHUWKDQ DFFHVVLQJWKHPDLQPHPRU\,QWKHSDSHUVRPHRIWKHUHFHQWUHVXOWVWKDWKDYHEHHQREWDLQHGRQ ,2DQGFDFKHHI¿FLHQWDOJRULWKPVDUHGLVFXVVHGZLWKIRFXVRQVSDWLDOGDWD

2QHVSHFL¿FGDWDVWUXFWXUHEDVHGRQTXDGHGJHVDQGDSSOLHGWRFUHDWLQJDQGHGLWLQJWKUHHGL- PHQVLRQDOPRGHOVLVGHVFULEHGE\&KULVWRSKHU*ROGDQG5HEHFFD7VH 8QLYHUVLW\RI*ODPRUJDQ 8. LQWKHLUSDSHUµ4XDG(GJHVDQG(XOHU2SHUDWRUVIRU$XWRPDWLF%XLOGLQJ([WUXVLRQ8VLQJ

vii /L'$5'DWD¶ /,JKW'HWHFWLRQ$QG5DQJLQJ 7KHORQJWHUPUHVHDUFKREMHFWLYHIRUWKHLUPRGHOV LVWRLQWHJUDWHPDQPDGHREMHFWVZLWKWKHODQGVFDSHVRWKDWWRSRORJLFDOSURSHUWLHVVXFKDVFRQ- QHFWHGQHVVPD\EHXVHGLQDSSOLFDWLRQVVXFKDVÀRRGPRGHOLQJ0DQPDGHREMHFWVVXFKDVEXLOG- LQJVDVZHOODVWHUUDLQHOHYDWLRQVKRXOGEHH[WUDFWHGGLUHFWO\IURP/L'$5GDWD7KHLUPRGHOLVD WULDQJOHEDVHGERXQGDU\GHVFULSWLRQRIWKHUHOHYDQWREMHFWVDQGHDUWKVXUIDFH7KHPRGHOFUHDWLRQ DQGORFDOPRGL¿FDWLRQV XSGDWHV LVSHUIRUPHGRQWKH4XDG(GJHGDWDVWUXFWXUHE\XVLQJ(XOHU RSHUDWRUV7KHVHRSHUDWRUVSHUPLWYDULRXVH[WUXVLRQRSHUDWLRQVDVZHOODVWKHPDQXDOLQVHUWLRQRI EULGJHVDQGWXQQHOV

$GHVFULSWLRQRIWKHXVHFRPSXWDWLRQDOJHRPHWU\WRROVXVHGWRVROYHDIHZVSHFL¿FFDUWRJUDSKLF SUREOHPVLVJLYHQE\%HWWLQD6SHFNPDQQ 78(LQGKRYHQ LQKHUSDSHUµ$OJRULWKPVIRUFDUWR- JUDPVDQGRWKHUVSHFLDOL]HGPDSV¶&DUWRJUDPVDUHDXVHIXODQGLQWXLWLYHWRROWRYLVXDOL]HVWDWLVWL- FDOGDWDDERXWDVHWRIUHJLRQVOLNHFRXQWULHVVWDWHVRUFRXQWLHV7KHVL]HRIDUHJLRQLQDFDUWRJUDP FRUUHVSRQGVWRDSDUWLFXODUJHRJUDSKLFYDULDEOHDQGWKHUHIRUHWKHUHJLRQVJHQHUDOO\FDQQRWNHHS ERWKWKHLUVKDSHDQGWKHLUDGMDFHQFLHV$JRRGFDUWRJUDPKRZHYHUSUHVHUYHVWKHUHFRJQL]DELOLW\ LQVRPHZD\7KHSDSHUJLYHVDVKRUWRYHUYLHZRIFDUWRJUDPDOJRULWKPVDQGIRFXVHVLQSDUWLFXODU RQWKHFRPSXWDWLRQRIUHFWDQJXODUFDUWRJUDPV,QDUHFWDQJXODUFDUWRJUDPHDFKUHJLRQLVUHSUH- VHQWHGE\DUHFWDQJOH$QLPSOHPHQWDWLRQDQGYDULRXVWHVWVVKRZWKDWLQSUDFWLFHYLVXDOO\SOHDVLQJ UHFWDQJXODUFDUWRJUDPVZLWKVPDOOFDUWRJUDSKLFHUURUFDQEHJHQHUDWHGHIIHFWLYHO\)XUWKHUPRUH WKHFRPSXWDWLRQRISURSRUWLRQDOV\PEROPDSVLVDOVRGLVFXVVHGEULHÀ\

7KUHHGLPHQVLRQDOWRSRJUDSKLFPRGHOLQJLVDOVRWKHWRSLFRIWKHSDSHUE\)ULVR3HQQLQJD 78 'HOIW µ&RQVWUDLQHGWHWUDKHGUDOPRGHOVDQGXSGDWHDOJRULWKPVIRUWRSRJUDSKLFGDWD¶,QFRQWUDVW WRWKHZRUNRI*ROGDQG7VHKHGRHVQRWGRWKLVE\UHSUHVHQWLQJWKHERXQGLQJVXUIDFHVEXWKH UHSUHVHQWVWKHWKUHHGLPHQVLRQDOREMHFWVE\VHWVRIWHWUDKHGURQV7KHZKROHPRGHOWKHQEHFRPHV DWHWUDKHGURQL]HGLUUHJXODUQHWZRUN 7(1 WKH'YHUVLRQRIWKHPRUHJHQHUDOO\NQRZQWULDQJX- ODWHGLUUHJXODUQHWZRUN 7,1 7KH7(1LVDZHOOGH¿QHGDQGUREXVWGDWDVWUXFWXUHZKLFKHQDEOHV FRPSOH[SURFHVVLQJE\VHSDUDWHSURFHVVLQJRQHDFKSULPLWLYH¿UVWDQGDIWHUZDUGVMRLQLQJDOOWKHVH SDUWLDOUHVXOWVLQWRD¿QDOUHVXOW,QRUGHUWRUHSUHVHQWWKHLUERUGHUVVHYHUDOHGJHVDQGIDFHVZLOOEH KDQGOHGDVFRQVWUDLQWV8SGDWLQJDWRSRJUDSKLFGDWDVHWWKHUHIRUHHTXDOVWKHDGGLWLRQDQGUHPRYDO RIFRQVWUDLQWVZLWKLQWKHQHWZRUN2QHRIWKHELJJHVWFKDOOHQJHVLQWKHUHDOL]DWLRQRIVXFKDGDWD VWUXFWXUHDQGFRUUHVSRQGLQJDOJRULWKPVLVWRUHDFKDFFHSWDEOHSHUIRUPDQFHGHVSLWHWKHSRWHQWLDOO\ HQRUPRXVDPRXQWRIGDWD

7KHODVWSDSHUµ7RZDUGVLPSURYHGVROXWLRQVFKHPHVIRU0RQWH&DUORVLPXODWLRQLQHQYLURQPHQWDO PRGHOLQJODQJXDJHV¶LVE\'HUHN.DUVVHQEHUJDQG.RUGH-RQJ 8WUHFKW8QLYHUVLW\ 7KH\GHDO ZLWKWKH¿HOGEDVHGUHSUHVHQWDWLRQRIVSDWLDOGDWDLQFRQWUDVWWRWKHREMHFWEDVHGUHSUHVHQWDWLRQ RIVSDWLDOGDWDLQWKHRWKHUSDSHUV2QWKHPRVWRIWHQXVHG¿HOGEDVHGGDWDVWUXFWXUHWKHUHJXODU JULGWKHDOJRULWKPLFFKDOOHQJHVDUHTXLWHGLIIHUHQWWKDQWKHLUFRXQWHUSDUWVLQWKHREMHFWEDVHG DSSURDFKHV(QYLURQPHQWDOPRGHOLQJODQJXDJHVVXFKDV3&5DVWHUDUHSURJUDPPLQJODQJXDJHV HPEHGGHGLQ*,6WRVLPXODWHHQYLURQPHQWDOSURFHVVHV7KHVHODQJXDJHVDUHXVHGWRFRQVWUXFW G\QDPLFPRGHOVDOVRFDOOHGIRUZDUGPRGHOVZKLFKDUHVLPXODWLRQVUXQIRUZDUGLQWLPHZKHUH the state of the model at time tLVGH¿QHGDVDIXQFWLRQRILWVVWDWHLQDWLPHVWHSSUHFHGLQJt)RU IXWXUHDSSOLFDWLRQVDWOHDVWWZRH[WHQVLRQVWRWKHODQJXDJHVDUHUHTXLUHGVXSSRUWRIWKUHHVSDWLDO GLPHQVLRQV DVWKHUHDOZRUOGLVRIWHQ' DQGLQFOXVLRQRI0RQWH&DUORVLPXODWLRQWHFKQLTXHV WRFDOFXODWHKRZLQSXWHUURUVSURSDJDWHWRWKHRXWSXWRIDPRGHO 

7KHVHPLQDUGD\ZDVRUJDQL]HGE\WKHVXEFRPPLWWHH*HR,QIRUPDWLRQ0RGHOVRIWKH1HWKHUODQGV *HRGHWLF&RPPLVVLRQDQGZDVKHOGDW8WUHFKW8QLYHUVLW\RQ1RYHPEHU:HZLVKWR WKDQNWKHVSRQVRUVRIWKHVHPLQDUDVZHOOIRUKHOSLQJWRPDNHWKHGD\IUHHRIFRVWVIRUDOOSDU- WLFLSDQWV7KHVHVSRQVRUVDUHWKH1HWKHUODQGV*HRGHWLF&RPPLVVLRQ*HR,QIRUPDWLH1HGHUODQG *,1 WKH'HSDUWPHQWRI,QIRUPDWLRQDQG&RPSXWLQJ6FLHQFHVRI8WUHFKW8QLYHUVLW\DQGWKH VHFWLRQ*,6WHFKQRORJ\DWWKH'HOIW8QLYHUVLW\RI7HFKQRORJ\:HDUHIXUWKHUJUDWHIXOWR)UDQV viii 6FKU|GHUIRUKLVVXSSRUWLQVHWWLQJXSWKHVHPLQDUEXWDOVRIRUWKHUHDOL]DWLRQRIWKLVSXEOLFDWLRQ )LQDOO\ZHKRSHWKDWWKLVSXEOLFDWLRQZLOOKHOSWRLQFUHDVHWKHFROODERUDWLRQEHWZHHQFRPSXWD- WLRQDOJHRPHWU\DQG*,6:HH[SUHVVRXUWKDQNVWRDOOVSHDNHUVDWWKHVHPLQDUDVWKH\DUHWKHPDLQ FRQWULEXWRUVWRWKLVSXEOLFDWLRQDQGWKHSDUWLFLSDQWVIRUWKHOLYHO\GLVFXVVLRQVDWWKHVHPLQDU

7KHHGLWRUV

Peter van Oosterom Marc van Kreveld

L[ [

            

                    

                                     

   

KM> )>->)8M )> D 8 :55 >>5)N ,> - F5M 5M> ,>-  ,  N-- D  )5M- D) >>5)8 )2 >- KM>  N-- D  )5M- @ @>- :,>)-5, MF >O8>5 N   )5M - @>-  )2 >   )5M - 8-,>)>, >O8>5 D 5 -8 >- F>  5M>  :5 -> 5M5 - D 5M> 5> >>,>, 5 - @>  -58> F5M  8>)5  :5 5 >-  D>F :5>- 5M> 5M> 5> >>,>,    :5 5M5 - 5> 5>- - ) > ,>- 5 >5 :5 D M, 8 >5> N !> D 5M>  2>85@>- D 8 :55 >>5)N - #, 5M> -5 >O8>5  )5M- D)  -)5- D >>5)8 )2 >- KM>-> )2 >- 8 2> 2-5)85 ) 5@5>, D) )>-  > 8 :5>) ) M8- )25 5  , 3 G> F )>@>F 5M>  88> 5- D)  )5M- ,>-  , 8 :55 >>5)N KM>-> 8 :,> >O8>8N  N-- 5)852 5N :5 :5->-5@>  )5M- ,  ) 5   )5M- N 2-8 )2 >- D 8 :55 >>5)N M@>  ,)>85 ) ,)>85 :-> 5 3 L) -58> > -> >5 5>)->85 2N > -F>> - @>-  @>) N 5M> -5  )55 3  N-- 5- A) , )- )> M> D:  > M2)M,  N-- ?> :N 5) : 5- )> F,> N :->, D) 5>)) ,>  , >>5)8 ,5 -5):85:)>- M> F5M >O8>5 - 5 ,>   ) > - 5 ,5 ->5- G> F > 5 )>@>F 5M> 55- D) 5M>  82 5N D 8 :55 >>5)N  3 KM> -5  )55 )> 55 - 5M> D85 5M5 N 3 5- - )> 5 >-N 5 D) > 5 - > >>5)8 2-5)85 )2 >- KM> 2>85@>- )> D5> 5 8 >) G> F -5  :2>) D )2 >- D 5M- 5N > 5 ,85> FM>)> D:5:)> )>->)8M 8 2> ,)>85>,

     

KM> )> D 8 :55 >>5)N - 2:5 5M> ,>-  ,  N-- D  )5M- D) >>5)8 )2 >- &/ L) >  > 5M> 8 ->-5 ) )2 > D)  ->5 D 5-  5M> > - - D)  >O8>5 >5M, 5 ,>5>)> FM8M 5F 5- D 5M> ->5 )> 8 ->-5 5 >8M 5M>) KM>  :5 5 5M> )2 > - -> ->5 D 5-  - >8#>, 2N 5M>) 8),5>- KM> -> D 5M>  :5 - 5M> :2>) D 5- @> M>)> ,>5>, 2N   - :5 B  )5MH -  ->$:>8> D -5> - 5M5 F #, 5M> 8 ->-5 ) D 5-   )5M :-5 2> 8))>85 5M5 - 5 :-5 ,>5>)> 5M> 8 ->-5 )  55>) FM5 ->5 D 5-  5M> > - @>

" % %  #  # #% %" %#"   "#" %   % %#  #  %# $!$

1    KM> >O8>8N D   )5M )>D>)- 5 5M> :5 D 5> >>,>, 2N 5M>  )5M >)> 5> - >-:)>,  5M> :2>) D -5> - !2@:- N 5 ,> >,-  5M>  :5 ->5 MF :8M 5> F 2> >>,>, >) N  FN- 5M> ) >) 5M>  :5 ->5 5M> )> 5> F 2> >>,>, 2N 5M>  )5M KM>)>D)> F> F > )>-- 5M> >O8>8N D   )5M -  D:85 D 5M>  :5 L) >  > 5M> :2>) D -5> - B-- >5- 8 )-- ,,5- H 8: , 2> 7 C  D) ->  :5 D  5- 38> F> 85 > )>-- 5M> >O8>8N D) >@>)N --2 >  :5 F> F  N> 5M> -5 ,O8: 5  :5 D ->  - 5M5 F> F D) -:)> 5M5 5M>  )5M F 8>)5 N #-M 5- 8 :55-  5 -5 5M5 N -5> - D 5 - @>   :5 D -> KM- - 8 >, F)-5 8->  N--  --2 >  )5M D) 5M> 8 ->-5 ) )2 > - 5M> D F                                 GM> F>  N-> 5M> >O8>8N F> F 58> 5M5 5M> :2>) D -5> - 5 > 2N 5M-  )5M ,> >,-   -  $:,)58 D:85 D F> 5 >   :5 ->5 D -> * -5>, D  5M>  )5M F ): M N 5 > D:) 5>- -   >>) N F> )> 5 5>)>-5>,  5M> )>8-> :2>) D -5> - D 5M> -5 ,O8: 5  :5 2:5  N 5M- -8  2>M@) G> -N 5M5   )5M 5 >- BH 5> B),>) D  -$:)>, 5>H D 5M> ,5 5>)  5M> :2>) D -5> - 5 > -  $:,)58 5>) D 5M> ,5 5>) - >)     )5M 5 >- BH 5> L)  :5- 5F8> 5M> -> -:8M   )5M F 5 > ): M N 5F8> -   L) ,O8: 5 )2 >- F> N M@> 5 ,>-   )5M- 5M5 5 > :8M )> 5>  > B*H  5M5 8-> 5M>  )5M 5 >- 5F8> -  D 5M>  :5 -> -  N > 5 )> 3:8M  )5M- F5M > >5 ): 5> 2>M@) -M: , 2> @,>, 2>8:-> 5M>N - N 5 > 5 :8M 5>  5M>) > >8:5 F>@>) >>5)8 )2 >- > -5 D) FM8M  )> >O8>5  )5M- 5M > >5 >- )> F G> 8 F 8 )> 5M> >O8>8N D 5F ,I>)>5  )5M- 5M5 - @> 5M> -> )2 > KM> > F5M  - >) D:85  BH 55 - 5M> 2>55>)  )5M D 5M>  :5 - ) > >: M 5 F 2> D-5>) 5M 5M> 5M>) KM>    8 :55 >>5)N - 5 ,>5>)> 5M> -5 >O8>5  )5M D) >8M >>5)8 )2 > L) >  > 5M> -5 >O8>5  )5M D) 5M> 8 ->-5 ) )2 > 5 >- B  H 5> , - 2>55>) 5M 5M> - >  )5M @> 2@>

#  !    KM> )> D 8 :55 >>5)N M- )@,>, >O8>5   )5M- D) N ,I>)>5 >>5)8 )2 >- G>  F )> B->> L :)> &H  <@> M: )2 > D)  ->5 D 5- ,>5>)> 5M> - >-5 8@> ->5 5M5 85-    > -> >5 5>)->85 D)  ->5 D > -> >5- ,>5>)>  5>)->85-  A) , ) 8 :55 D)  ->5 D 5- ,>5>)> 5M> -:2,@- D 5M> > 5 8> - -:8M 5M5 -,> -> 8> > , 5M> -> 5 D 5M> ->5 - 8 ->-5  ?> :N 5) : 5 D)  ->5 D 5- ,>5>)>  ) -:2,@- 2N 8)>5 >, >- 2>5F>> 5M>  :5 5-  -:8M  FN 5M5  5F >, >- 5>)->85  D8>- )> 5) >-  )> >, >- 8 2> ,,>, F5M 5M> @> 8-5)5- ,  8)8:8)8 > D N 5) > 85-   :5 5  5- 5>))   F-  -: D) 5F - >  N - , 8 :5> 5M> -M > 5M5 8--5 > 85 N D 5M> -: D  5- D ,  5- D FM>)> -: - 5>) )>5>, - 5M> @>85) -:

  .>85 : ) ) > ->)8M D)  ->5 D 5-  5M> > ,>-   ,5 -5):85:)>  5M-> 5- -:8M 5M5 D) >@>)N  - ) > $:>)N )>85 >  5-  5M> ,5 -5):85:)> 5M5 >  5M> $:>)N )>85 > 8 2> )> )5>, >O8>5 N  )5M- )> >>,>, D) 5M> 8-5):85 D 5M> ,5 -5):85:)> , D) 5M> > >8:5 D  $:>)N

L :)> & 3 2-8 )2 >-  8 :55 >>5)N 8@> M: > -> >5 5>)->85 A) , ) ?> :N 5) : 5  F-  -: , )>85 : ) ) > ->)8M

KM> )2 >- )>  :-5)5>,  L :)> & 3:8M )2 >- )> 8 -> N )> 5>, 5 @):- F>  F 3  >)5-  >  @>) N , 2:I>) 8 :55  @>) N :-5 #,  5>)->85- D 5M> > -> >5- 5M5  >)  5M> 5F 5M>58 N>)- D FM8M 5M> @>) N - 8-5):85>, KM> 2:I>) D   N  - 5M> -> - 5M>  F-  -: D 5M5  N  F5M  ,- 8>5>)>, 5 5M> ) 

!!  !  # !  >) N  8->- 5M> 5> >>,>, D)   )5M ,> >,-  5M>  :5 ->  -> 8->- F>  - F5 5 5 > 5M> :5 :5 -> 5 88:5 L) >  > D) 5M> > -> >5 5>)->85 )2 > N  )5M :-5 5 > 5 >-5 $:,)58 5> 2>8:-> D)  ->5 D  > -> >5- 5 8 2> 5M5 >@>)N ) D -> >5- 5>)->85-   ,I>)>5 5 5M- 8-> N 8))>85  )5M :-5 )> )5  D 5M>-> $:,)58 N N 5>)->85 5- F>@>) F> F: ,  > 5 ,>@>    )5M 5M5 ,>- 5 5 > $:,)58 5> D 5M>)> )>  N >) N N 5>)->85 5- K 8 5:)> 5M-  5M> >O8>8N  N-- F> > )>-- 5M> ): 5> D   )5M 5  N  5M>  :5 ->  2:5  -  5M> :5 :5 -> ,>5>, 2N  KM> 2>-5 F  )5M D) > -> >5 5>)->85 5 >- B    H5>D5M>)>)> 5>)->85 5- = &" GM>  -  )> 5M B  H 5M> ): 5> 8>- ,F 5 B  H FM8M - :8M 2>55>) 5M $:,)58 KM> F>  F 1>5 >N!55 > -F>>  )5M D) > -> >5 5>)->85 5 >- B      H 5> C FM8M - -  M5 N >-- >O8>5 2:5  - :5 :5->-5@>

 !#!#    D D)  )2 >   )5M - F 5M5 ):-  5 -5   N :5 D 5> B- F)-> 5M BH D) N 8-55 H 5M> 5M> )2 > - 8 >, 5)852 > &J KM> 2>-5 F  )5M :-: N >>,-  > >5 :5 D 5>  -:8M  8->  F>  F )2 > D 5M- 5N > - 5M> E:8 ,> 5)@>  - >- >)- )2 > @>  ->5 D  5 

 5M> > #,  -M)5>-5 5:) 5M5 @-5-  5- KM>)> )>  - @):- 8)5 ) M8 )2 >- 5M5 )> 5)852 > L) >  > N @>)-- D 2> 8>>56 8> - N 2> - - --2 >    F5M:5 N @>)  6)> 5)852 > &C *J

 #!  # ! D 5M> 2>-5 F  )5M 5 >-  :5 D 5> 5M5 - )> 5M 88> 52 > 5M> 5 N 2> --2 > 5 ,>-    ) 5  )5M J KM- -   )5M 5M5 55> 5- 5  5>  )58: ) 5) >5 , )@2 N 8M>@>- 5M-  5 F5M  8>)5 D85)   ) 5  )5M - :->D: D 5 - :8M )> >O8>5 5M 5M> 2>-5 F  )5M 5M5 @>-   5 - :5 , 5M>  ) 5 D85) - , L) >  >   )5M > -5- 5M5 8 8> 5 >-5 M D - N 2> -    - 5M>  : --2 > , FM8M ):-  B  H 5> *  - > 8 :)5>> 5M> 8>>5 D 5 >-5 */ - N 2> - - 5M>  5: F5M   )5M 5M5 5 >- BH 5> 15M  )5M- )>  ) 5  )5M-  M>:)-58 -  >   ) 5  )5M 2:5  M>:)-58 ,>- M@>  :)5>>  MF F> 5 8M>@>- 5-  

     

N 8 :55 )2 >- 5M5 :-5 2> - @>,   3 )> >>5)8 D 5:)> KM>N 88:)   -5 >- D 5M> 3 ,5 8N8 > >>5)8  )5M- )> :->D:  ,5 8))>85 BD5>) ,5 8$:-5 ,  :5H  ,5 )>5)>@ B5M): M $:>)>-H ,5  N-- B  >  @>) N , >-55-58-H , ,5 @-: 5 BD)  - , 5-H G> -5  D>F 3 )2 >- , ,85> MF 8 :55 >>5)N 8 )@,> )5 D  - :5 L))>> 5>-@> @>)@>F ->> *C

!#!  #!# !  #! # #   !   %)2 >- 5M5 8 88:) FM> ,  5   >)  2N M, 8 :,> -  >- @>)-M5- :,>)-M5- D) 55> 2:,)>- ,

L :)> * ?:2 N , 5>, > , :-,)I ,-58>

,:2 N , 5>, 2:,)>- >5 :-  5 5M> -5 )2 > K :558 N ,>5>85   ->5 D 2:,)>- FM>5M>) 5F )> >) N 5M> -> , 5M>)>D)> )22 N ,:2 N , 5>, F> >>, 5 ,>5>)> 5M> - )5N D N 5F 2:,)>- KM>)> )> ->@>) - )5N >-:)>- 5M5 8 2> :->,  > 5M> :-,)I ,-58> , 5M> L)>8M>5 ,-58> KM> :-,)I ,-58> 2>5F>> 5F 2>85- - ,>#>, - 5M>  : D  ,-58>- D) N 5  5M> > 2>85 5 5M> 8 ->-5 5  5M> 5M>) 2>85 ->> L :)> * G5M 5>8M$:>- D) 8 :55 >>5)N 5M> :-,)I ,-58> D 5F 2:,)>- F5M  @>)58>- 5 >5M>) 8 2> ,>5>)>,  B  H 5> /

   GM>  -:2->5 D  ,5 ->5 - -> >85>, D) @-: 5 ) D) D:)5M>)  N-- 5M- ,5 :-5 2> )>5)>@>, D) 5M> ,5 2-> D 5M> ,5 - ) >, 5  $:>)N -5):85:)> 5M5  F- >O8>5 F,F $:>)>- 5M> -:2->5 8 2> > 5)85>, F5M:5 M@ 5 5M): M5M> FM > ,5 ->5 ;-: N .5)>>- )> :->, D) 5M- & */ KM>N F>)> 5),:8>,  5M> ,52-> 8:5N 2:5 5>)  8 :55 >>5)N ->@>) @)5- M@> 2>> ,>-8)2>, 5M5

 )@2 N 8M>@>  , $:>)N 5> >@>  F)-5 8-> -5:5- & KM- F- 5 F N>5 D) )>@:- .5)>>-

"#! # #!# # #    - 5 ,5  N-- 55>)- 8 :-5>)- , :5 >)- :-5 2> ,> 5>85>, *& *7   ->5 D 5- 8 :-5>)- )> ): - D 5- 8 -> 5 >5M>) , :5 >)- )> 5- 5M5 , 5 #5  5M> 2 85- D 5M> 5- N ,I>)>5 ,>#5- D :5 >)- > -5 K 8  5  :5 >) D 5 - D:)5M>) 5M -> ,-58> D)  5M>) 5- - 5  , ,> D 5F 5- > 8 -> 5 >5M>) 2:5 D) D) 5M> 5M>) 5- 5M>N )>  - :5 >)- 2:5 5M>N F: , 5 2> ,>5>85>, 5 - -  M5 N 2>55>) 5 ,>>  5  :5 >) D -N 5- #D5M8 ->-5 5 - D:)5M>) 5M -> ,-58> FN ;- M M>) ),>) A) , )- 7 5M> #D5M8 ->-5 5 D) >@>)N 5 8 2> ,>5>)>, >O8>5 N

#!#   # #!   5M> )8>-- D 8)5 ) M8 >>) 5 D  -  D>5:)>- N M@> 5 2> ,- 8>, )  )> 5>, 5 ) >) 2>85- **  )> 5 -  N --2 > D) D>5:)>- 5M5 )> 8 -> , )> D 5M> -> 5N >  > 5F 2: , - ) 5F D)>-5 58M>- 5 -  )55 F 5M> ) 5N D 5M> D>5:)>- 5 ,>5>85 5M> >>, D) ,- 8>>5 , 5M> --2 5N D)  )> 5 G)> >5   *P :-> 5M> 8-5)>, ?> :N 5) : 5 5 8 5:)> ) 5N , 5 5M> -> 5> 5M> 8-5)>, ?> :N 5) : 5 )@,>- 5) >- 5M5 > 2>5F>> 5F 2>85- 5M5 8 2>  )> 5>, , 8 2> ,,>, 5  5M> KM> -5 >O8>5 >5M, 5 8 :5> 5M> 8-5)>, ?> :N 5) : 5 F- ,>@>  >, 2N F , ):-  B  H 5> &&

              

KM>)> )> ->@>) )>-- FMN 8 :55 >>5)N - 5 - :->D: 5 3-58: ,2> #)-5 )>- - 5M5 5M>  )5M- ,>@>  >,  8 :55 >>5)N )> D5> )5M>) 8 > , 5M>N )>$:)>  ) > >I)5 5  >>5 KM- - )5 N 2>8:-> 5M>N :-5 2> )@2 N >O8>5 D)  --2 >  :5- , )5 N 2>8:-> >>5)8 ,> >>)8>- :-5 2> ,> 5 F5M  ->8, )2 > F5M 5M> :->D: >-- 8>- D) 5M> >O8>8N  N-- FM8M - 2->,  F)-5 8->  :5- 5 5M>  )5M KM> 5M>)>58 >O8>8N D N  )5M ,> >,-  5M> 5> >>,>,  5M> ,5 ->5 D) FM8M 5 - - F>-5 F>@>) -:8M F)-58-> ,5 ->5- N 2> )5M>) )5#8 , >@>)  >)  )> F) ,  85- KM> 5M), )2 > F5M 5M>  82 5N D 8 :55 >>5)N >-  5M> 2-5)85 D 5M> )  )2 > N )2 >- 5M5 8> D) )858> )>$:)> ->@>) 8)5>) 5 2> >5 -: 5>:- N ) 8)5>) 5M5 -M: , 2> >5 5 >-5 5 -> > 5>5 L) >  > FM> 8-5):85  8)5 ) 5 )>8 2 5N - :8M - --2 > -   )55 --:> KM- >,- 5 @ :> )2 > -55>>5- , 5M> >>) )858>  8 :55 >>5)N - 5 8-,>) F> ,>#>, - >5-55> )2 >- -5 N  5M> -5 ,>8,> ->@>) D 5M> )2 >- >5>, 2@> M@> 2>> ,,)>-->, F,N- 5M>)> )> -D5F)> 2))>- F5M >>5)8 )5@>- ,  )5M-  >@5 5M> >I)5 5  >>5 &= KM>N  - - @> 5M> )2:-5>-- --:>- ) > N KM> ->8, --:> M- 2>> ,,)>-->, 5M): M 5M> ,>@>  >5 D )> 5@> N - >  )5M- )> >O8>5  5M> F)-5 8-> 2:5 )@2 N >O8>5 :,>) )> -58 --: 5-  5M>  :5 &* ;D)5:5> N 5M> 5M), --:> - -5 ) > N :)>- @>, < :55 )2 >- FM>)> @):- )5 N 8(85 8)5>) :-5 2> )>- >85>, 5 -> > 5>5 )> 5N 8  5M> )> ,@8>, 3 D:85 5>- KM> 8))>85 )2 > D): 5 2>8>- 5M> #)-5 88>) ! N D5>)  -5:,N D  ) )5> D) 5- M- 2>> ,>  )5M8 - :5- 8 2> -5:,>, 5 5M> -> 5>  >>55 , 5>-5 )> >>,>, 5 >@ :5> D) 5- , )>#> 5M> G> -5  D>F D -:8M )2 >- > 5

"#! # !#!        ! N > ) M8 @)2 >- )> >-:)>, 5 @):- 85-  5M> #> , , 5M> 5>)  5>, 5 >5  8 >5> 85:)> L) >  > -> >@> >-:)>>5- )> ,> 5 5 85- 5 - --2 > 5  N N D 5M> N - 5 5>)  5 5>8M$:>-  > 2N 5) : 5 @ F,F- , ')   2:5 > -M: , 5 > 5 88:5 5M5 -> 5)@> - ,I>)>5 N @>) F5>) @>) #> ,- , 5M): M D)>-5-

 KM>)>D)> 5M> 8),5>- D 5M> 5- , 5M> E:8 ,> ,-58>- )> 5 5M>  N D85)- 5M5 ,>5>)> MF 5 5>)  5> >F 5>)  5 ,> - ,  )5M- -M: , 2> ,>@>  >, D) -:8M 8->-

"#! !# #!#   3 55> ) ,5  - 2:5 ,-8@>) 55>)-  - 55> ) ,5 ->5- *& *= 3:8M ,5 8 2> ->$:>8>- D B 85 5>H )- D) @ >55>- %55>)- 8 :,> ):  D  -:O8>5 N ) > -:2 ): 5  >5  5> B(8  H ) @   )58: ) 8 ,)>85 D)  -:2 ): &P *" !5M>) 55>)- D 5>)>-5 5M5 M@> 5 2>> ,>#>, , @>-5 5>, ) >) N )> 55>)-  > )>8:)) (8  FM>)>  -:2 ): 8>- 5 >5M>) )> 5M 8>

" #  #  5M> )> D $:555@>   N 5>)>-5 5N >- D  >  -5  > 8)5 )- (F  - , ,5  - &7 3:8M  - >>) N >>, 5 -5-DN @):- 8-5)5- 5 8> L) >  > 8)5 )- BD 5M> 85 ::- )> 5N >H >>, 5 -MF 5M> 8: 5)>- F5M 5M> ) >) -> 5M> ,8>8>- D 5M> 8:5)>- :-5 2> 5>, 5M> )  -M > :-5 2> )>8 2 > , 5M> 85- D 5M> 8:5)>- :-5 2> )>->)@>, KM>-> 8-5)5- )> 8(85 , D: #  > N  > 5M>) 2> :88> 52 > 5 - :8 >) FM5 5M> ) >) 2 8> 2>5F>> 5M> 8-5)5- - , 5M>)>D)> 5 - ,O8: 5 5 ,>@>  D: N :55>, >5M,- 5 8 :5> M M$: 5N  - D 5M- 5N >

#  !!  ? 5 > >@5 ,>  ,> - F5M >>)5  ,> D)  5>))   3 5M5 - )> -58 * KM> ,> - 2: 5   5 ,5 ->5 FM8M 8 8--5 D 5- F5M > >@5- ) , 5>, 85:) >- F5M > >@5- --2 N  825 F5M ,) > , -  > D)5  - 5M>)> N 2> M M >@> D)5  >  2): 5 -  > 8M >- NFM>)> K >>)5>  5>)) 5M5 #5- F5M 5M>  :5 ,5 5M> M M >@> D)5 , - )> -58  5M> ->-> 5M5  )5D85-  >) -    )2 > FM>)> ->@>) 8(85 8)5>) M@> 5 2> 5 > 5 88:5 KM> ,>  )2 > , 8))>- ,  )5M- )>  85: ,)>85 D D:5:)> )>->)8M 5M5 M- M), N 2>> ,,)>-->, D) 5M> 8 :55 >>5)N >)- >85@>

!5M>) 5N 8 3 - >85- 5M5 -M: , 2> 8-,>)>,  5M> 85> 5 D 8 :55 >>5)N - F> )> 8 :55- F5M  )>8-> 8),5>- 8 :55- 5M5 ,> F5M B- 5 H -8 > D > ) M8 M>> , )8>-->- , ,>5>)5> 2:,)>- DD>5:)>-PE  >- D ,>5>)5> 2:,)>- )> 2:,)>- D :5 ) >- FM> 5M>)> -  5)-5 > F5M 5M> F>) -:)):, , , 5M> ,>#5 D 5M> > 5>5 B) ->H D  - , FM> 5M>)> )> 5, 8M >-

    

.>->)8M  8 :55 >>5)N M- )@>, 5 2> @>)N :->D: 5 N 8 :55 )2 >- 5M5  >)  3  ),>) 5 > 5>, 5- :->D: >-- )> 8 > )2 >- >>, 5 2> ,,)>-->, !D5> 5M> )>8-> 8,5- , 8-5)5- 5M5 8M)85>)>  , - :5 M@> 5 2>> D): 5>, 2>8:-> 5M- ->>- 5 2> ,O8: 5 55> 5- -M: , 2> ,> 5 ,>@- , D) 5- FM8M 8 5M> 2> 5>-5>, > >)>5 N KM> 2>85@> D 5)N ->@>) ,I>)>5 D) 5- - 5 #, :5 FM8M >- @> 5M> -5 :->D: )>-: 5-  )858> D  D) 5 - :->D: )>->)8M  8 :55 >>5)N 8 M> 5 ,>-  >O8>5  )5M- 5 8 2> 5M5  D) 5 >,- 5  )2 > 5M5 - 8 :55 N 5)852 >  5M5 8-> >5M>)  ,I>)>5 D) 5 :-5 2> ,>- >, )   ) 5  )5M  5M: M 5 - -- 2 > 5M5 M>:)-58- )> -5-D85)N  )858 8->- GM>5M>)  )58: )  )5M - >O8>5 >: M  - ,> >,-  5M>  85 D 5M> 8 :55 )2 > :-5 2> - @>,  > FM > 5M> :->) D  3 - F5 >O8>8N - :8M )>  )55 5M D) I > )2 >-  > 8 :55 D  - 5 2> :2 -M>,  5 -->-

  

& %  )F  ,> 1>)  :,:,--  ) ,  @>) )5 1 5)>>- , .5)>>- F5M >) 5 $:>)N 5> #4.("5"   57547 6" "5( *P*&+/&* *""* * %'  )F  @ ')>@> , , 3 3:) 2> 8>>5 2N  : ,> >,>5 ->5  )>85 >-  5 6"  0-"( 3 &&*"+*&P &P /   5 1 1>M)>,- ,  1 >)  ) 5> 58M D  N  -M >- 3 75- 3(54' 5" &/*=&+*CC &= 7 L :)>M>) A) , )-  -:)@>N D  D:,>5 >>5)8 ,5 -5):85:)> 3  5 ( */B/H/7=+7"= 3> 5>2>) && = @  1 2   5  )5M D) #, -> >5 5>)->85-  $( &&5- 3 3  .  5 6"   >- *&&+*& &= C   1>5 >N , K  !55  )5M- D) )> )5 , 8:5 >>5)8 5>)->8 5- ))) 0(7.  5 <*PBHC7/+C7J 3> 5>2>) &J J  1>) , ? E -5>  ) 5  )5M- D) >>5)8 )2 >-  ?)5 3 8M2: >,5) 3(4 754 3(45- . '( $ !7( $(" .  >- *C+/7= %G3 %:2 -M < N 1-5  &J P % 1:)): M , ; L) >,5)- 6"(7-4 "5. 45- "5"( 475" 7(4". @ :> * D 6#303 KN ) 0 L)8- , &C  % 1:)): M , . 8?>  $(44". ' 6"(7-47 '( 754 .5" .! D), ;@>)-5N %)>-- >F ) &P &" 1>)), > ,  E,> -2):>)   5  )5M D) 5>)->85 > -> >5-  5M> >  3 /B&H&+=7 &* &&  % F <-5)>, ?> :N 5) : 5- 3(45- 47 7J+&"P &P &*  ,> 1>)   '5  L @ ,>) 35 > ,  A >: > - .> -58  :5 ,> - D) >>5)8  )5M-  $( &25- 3 3  .  5 6"   >- *7+/"/ &J &/ ) ,> 1>) )8 @ ')>@> , ) !@>))- , !5D)>, 38MF)  D  57547 6" "5(% 3(45- . 7 34754. 3 ) >)A>)  1>)  >)N *, >,5 *""" &7 1),> ? ?>5 7(5(7- , 5-" 754 7 ".4 G < 1)F %:2 -M>)- &C &=  L2)  >>  '>55>) 3 38M)) , 3 38MM>)) ! 5M> ,>-  D <  8 :55 >>5)N  )5M- 2))N '5  , $(75 ) /"B&&H&&CJ+&*"* *""" &C  L) , L G >)  8  )2 > F5M  85- 5 >55>) D  -  $( 5- 3 3  .  5 6"   >- *P&+*PP && &J  . )>N , ? 3 M-  5"(. 7 5(757445% 3 64" 5 5-" 0-"( ' $  "5"".. G  L)>> >F )  &J &P  :,:,--  @ ')>@> , , 1 3 >8  EO8>5 ,>5>85 D 5 55>)-  - 55> ) ,5 ->5-  6 + % $( ' 5-" &+5- 3  .  37". 4 6  >- *="+*=J *""7 &  :55 .5)>>-  ,N8 ,> -5):85:)> D) - 5 ->)8M $( 3 6 # ' $(44". #7577." .5" .  >- 7J+=J &P7

 *" % :2>  @ ')>@> , , 3 D> , L, .E! + ,>5>85 )> 5@> 5 55>)-  >- 5 D> >-  %L L-M>) >,5) #"" "5. 4 7547 #757 !74% &&5- 5  .  7547 #757 !74  >- *"&+*&= *""7

*&   >) ,   >,5)- 6"(7-4 #757 44 7 * "" #4."(KN ) 0 L)8- , *""& ** < : >) %  ) > , . G>2> >,5)- 6 7 6""(74754 , "5- 7 $(754" @ :> & D 6#303 KN ) 0 L)8- , &= */ :) >@>) > 5 , %>5>) G,N>) 3 5 ,5 -5):85:)>- <8> 5- , ,>-  8M8>-  ) .:, >) 38 , ) > ;)):5 >,5)- !7 '  57547 6" "5(  >- J*=+JC7 E ->@>) 38>8> %:2 -M>)- 1A )5M  , -5>), *""" *7 ? !93: @ , ? ;F 6"(7-4 '( 754 37.4. G >N *""/ *= L .,,8 , ' )-2N >,5)- 0" (7 7547 7 754 0" (7 #757 44 , /4(.5 5"(7547 (.- 0# +  :2>) *""J  >85:)> 5>-  )5#8 5>  >8> 3 ) >) *""& *C  @ ')>@> , > ) M8 D)5 3N-5>-  E , >  !9.:) > >,5) !7 ' #4.("5" 7  57547 6" "5( 8M 5>) =P  >- &*/+&/&7 @> , K 35) ,  G I %5 2>  F5M - , 2> -  5 6"  0-"( 3 &/*&+7J & *P  G)> <1 >- ,  1:,N  5) : 5>, - 5 ,> D) 8)5 ) M8 >>) -5 D )> 2>85-  $(""4. '  0  >- &J/+&* &= * . G>2> ,  > >) ? 5 5>)) ,>    ?   :)>  L ,8M , , ? G .M, >,5)- 6"(7-47 '( 754 .5" . , $(44". 7 34754.  >- *C+*J   , &&

8              

  

                        " !             ! "                                                    

  

&F E9FQ 9HHDA;9LAGF 9J=9K G> ;GEHML=J K;A=F;=T=P9EHD=K 9J= ?=G?J9H@A; AF>GJE9LAGF KQKL=EK $&/ JG:GLA;K ;GEHML=J ?J9H@A;K 9F< NAJLM9D J=9DALQ 9F< ! *TKH9LA9D <9L9 HD9Q 9 ;=FLJ9D JGD= ,>L=F L@= 9EGMFL G> <9L9 L@9L F== @9NAF? D9J?=J 9F< D9J?=J <9L9 K=LK AK KLADD ;GFLAFMAF? 0@AK AK =KH=;A9DDQ LJM= >GJ $&/ O@=J= L@= 9N9AD9:ADALQ G> L=JJ9AF 9F< GL@=J <9L9 @9K AF;J=9K=< LJ=E=FGJ  G> L@= OGJD<K D9F L=JJ9AF <9L9 9 >9AJDQ KE9DD <=NA;= EGMFL=< GF 9 DGO QAF? 9AJ;J9>L ;9F 9;IMAJ= OAL@AF 9 K@GJL H=JAG< G> LAE= EADDAGFK G> ?=G J=>=J=F;=< HGAFLK 9L 9 J=KGDMLAGF G> E GJ D=KK 0@= >9;L L@9L <9L9 K=LK 9J= ?=LLAF? D9J?=J 9F< D9J?=J E=9FK L@9L =N=F L@GM?@ ;GEHML=J L=;@ FGDG?Q AK :JAF?AF? MK EGJ= HGO=J>MD E9;@AF=K =N=JQ Q=9J AL AK KLADD =KK=FLA9D L@9L ;GEHML9LAGF9D L9KCK 9J= H=J>GJE=< AF 9F =;A=FL E9FF=J &F<==< L@= KAR= G> ;MJJ=FL <9L9 K=LK AEHDA=K L@9L L@= K;9D= MH :=@9NAGJ G> 9D?GJAL@EK AK ?=LLAF? EGJ= 9F< EGJ= AEHGJL9FL 0J9G;MKKAF? =P9;LDQ GF L@AK K;9D= MH :=@9NAGJ AK L@= E9AF ;GF;=JF AF :GL@ L@= <=KA?F 9F< L@= 9F9DQKAK G> 9D?GJAL@EK 0@MK AL K==EK L@9L 9D?GJAL@EK L@=GJQ AK KMAL=< H=J>=;LDQ >GJ L@= BG: 1F>GJLMF9L=DQ L@AK AK FGL IMAL= LJM= 3@=F <=9DAF? OAL@ E9KKAN= <9L9 K=LK L@9LL=F <= L=JEAFAF? L@= 9;LM9D JMFFAF? LAE= G> 9F 9D?GJAL@E &F<==< 9 9;LGJ   GJ EGJ= KDGO=J L@9F 9F GH=J9LAGF GF <9L9 L@9L AK 9DJ=9 O@=J= L@= <9L9 AK KLGJ=< /AEAD9J AKKM=K HD9Q 9 JGD= O@=F L@= <9L9 LK AFLG L@= E9AF E=EGJQ :=;9MK= 9DKG L@= ;9;@AF? :=@9NAGJ G> 9F 9D?GJAL@E ;9F @9N= 9 KA?FA;9FL AEH9;L GF ALK JMFFAF? LAE= &<=9DDQ GF= OGMD< DAC= LG L9C= &, 9F< ;9;@AF? :=@9NAGJ AFLG 9;;GMFL :GL@ AF L@= <=KA?F 9F< AF L@= 9F9DQKAK G> 9D?GJAL@EK 9F< <9L9 KLJM;LMJ=K &F J=;=FL Q=9JK L@= 9D?GJAL@EK ;GEEMFALQ @9K J=9DAR=< L@= AEHGJL9F;= &, 9F< ;9;@AF? := @9NAGJ 9F< J=K=9J;@=JK 9J= OGJCAF? LGO9J L@= OGJC L@9L @9K :==F G;MKKAF? GF 9D?GJAL@EK >GJ KH9LA9D <9L9 3= OADD :=?AF AF /=;LAGF  :Q GJ L@= K=LLAF? O@=J= L@= <9L9 9J= KLGJ=< GF 9;LGJ <=L=JEAFAF?

'2#35/'05 1( 1/265+0) %+'0%' +0&*17'0  19    +0&*17'0 5*' '5*'3.#0&4 /#+. /&$'3)8+056'0. '4'#3%* $: & +4 4622135'& $: 5*' '5*'3.#0&4 3)#0+4#5+10 (13 %+'05+% '4'#3%* " 60&'3 231,'%5 01    

 L@= JMFFAF? LAE= G> 9F 9D?GJAL@E 3= ;GFLAFM= AF /=;LAGF  OAL@ L@= ! !&#, )'3',20 *,"#) O@A;@ AK E=9FL LG ;9HLMJ= 9DD D=N=DK G> L@= E=EGJQ @A=J9J;@QTFGL GFDQ EG<=JF ;GEHML=J KQKL=EK 3= ?AN= KGE= ;GF;DM

    

   3@=F <9L9 AK KLGJ=< GF 9F =PL=JF9D E=EGJQ <=NA;= KM;@ 9K 9 =J :=LO==F L@= E9AF E=EGJQ 9F< JGE GJ LG OJAL= <9L9 LG 9F 9D?GJAL@E 0@= &, EG<=D  AFLJGGJ= >G;MKK=K GF <9L9 LJ9FKHGJL :=LO==F KAR=  L@9L AK  :9KA; 7AL=EK KM;@ 9K AFL=?=JK HGAFL=JK =L; L AFLG L@= E9AF E=EGJQ TK== #A? 9  0@= EG<=D >MJL@=J 9KKME=K 9K AK L@= ;9K= AF J=9DALQ L@9L <9L9 AK LJ9FKHGJL=< :=LO==F E9AF E=EGJQ 9F< AL=EK L@9L L AFLG GF= :DG;C AK <=FGL=< :Q 0@MK O@=F9 <9L9 AL=E AK F==<=< L@9L AK FGL ;MJJ=FLDQ KLGJ=< AF L@= E9AF E=EGJQ L@= :DG;C G> AL=EK L@9L ;GFL9AFK L@= AL=E AK J=9< >JGE =JJ=< LG L@= E9AF E=EGJQ O@=F L@= E=EGJQ AK >MDD KGE= GL@=J :DG;C AK =NA;L=< OJGL= :9;C LG GJ L@= F=O :DG;C 0@= ?G9D G> 9F &, =;A=FL 9D?GJAL@ETKGE=LAE=K 9DKG ;9DD=< =PL=JF9D E=EGJQ 9D?GJAL@E GJ "* 9D?GJAL@E >GJ K@GJLTAK LG KGDN= L@= ;GEHML9LAGF9D L9KC 9L @9F< OAL@ 9 EAFAEME FME:=J G> :DG;C LJ9FK>=JK 0G ?=L ?GG< &, :=@9NAGJ GF= F== L@= <9L9 AF AL AK MK=>MD >GJ L@= ;GEHML9LAGF 9F< L@= LAE=K 9L O@A;@ 9 :DG;C AK F==<=< K@GMD< := ;DMKL=J=< AF LAE= KG AL H9QKGLGC==H9 :DG;C AF E9AF E=EGJQ >GJ KGE= LAE=  +GJE9DDQ 9DD G> L@AKTO@A;@ <9L9 AK HML LG?=L@=J AFLG 9 :DG;C 9F< O@A;@ :DG;C LG =NA;L O@=F JGGE @9K LG := E9<= >GJ 9 F=O :DG;CTAK J=?MD9L=< :Q L@= GH=J9LAF? KQKL=E DL@GM?@ EG<=JF GH=J9LAF? KQKL=EK 9J= MKM9DDQ ?GG< 9L L@AK L@=AJ :DG;CAF? 9F< J=HD9;=E=FL HGDA;A=K 9J= F=;=KK9JADQ ?=F=J9D HMJHGK= G>L=F GF= ;9F G:L9AF KA?FA;9FL KH==< MH :Q D=LLAF? L@= 9D?GJAL@E ALK=D> @9F  =D=E=FLK =9;@ OAL@ 9 C=Q ?AN=F 9 IM=JQ N9DM= O=O9FLLGF AL =PAKLK F =9KQ KGDMLAGF LG L@AK HJG:D=E AK LG KLGJ= L@= =D=E=FLK >JGE AF KGJL=< GJ<=J AF 9F 9JJ9Q  IM=JQ ;9F L@=F := 9FKO=J=< AF DG?  KL=HK MKAF? :AF9JQ K=9J;@ 3@9L @9HH=FK A> O= 9HHDQ L@=K9E=KGDMLAGFO@=FL@=<9L9K=LAKLGGD9J?=LGLAFLGL@=E9AFE=EGJQ KGL@9L O= @9N= LG KLGJ= L@= 9JJ9Q GF JGE L@= 9JJ9Q ?G AFLG 9 :DG;C L@= K=;GF<  =D=E=FLK ?G AFLG 9 :DG;C 9F< KG GF ML L@AK AK FGL 9 ?GG< KGDMLAGF ,FDQ 9L L@= =F< G> L@= :AF9JQ K=9J;@ O@=F L@= 9D?GJAL@E @9K RGGE=< AF GF 9 K=L G>  =D=E=FLK L@9L 9J= LG?=L@=J AF 9 :DG;C JGE L@= :DG;CAF? MFLAD L@=F 9 F=O :DG;C AK F==<=< >GJ =N=JQ KL=H %=F;= L@= LGL9D FME:=J G> &,K F==<=< LG 9FKO=J 9 IM=JQ AK JGM?@DQ DG?  DG?  DG?    EM;@ :=LL=J KGDMLAGF AK LG MK= L@= ;D9KKA;9D LJ== 68 0@AK AK 9 K=9J;@ LJ== O@=J= L@= FG<=K @9N= @A?@ <=?J== *GJ= HJ=;AK=DQ L@= <=?J== G>9FG<=AK:=LO==F 9F<  O@=J= L@= N9DM= G> AK ;@GK=F KM;@ L@9L 9 FG<= G> <=?J==  BMKL LK AFLG GF= :DG;C /AF;= 9 FG<= G> <=?J==  KLGJ=K  HGAFL=JK LG ALK ;@ADGDDGOK 9 KAF?D= H9L@ :DG;CK F==<=< AK :GMF<=< :Q L@= @=A?@L G> L@= LJ== O@A;@ AK DG?   DG?   0@= K9Q     9F<    L@=F DG?     O@AD= DG?    KG O= ?=L 9 KH==< MH G> 9DEGKL 9 >9;LGJ  0@AK K@GOK L@9L AL ;9F J=9DDQ H9Q G LG ;GFLJGD L@= ?JGMHAF? G> L@= <9L9 AFLG :DG;CK 3= BMKL K9O L@9L 0# /!&'+% AF 9 K=L G>  =D=E=FLK O@A;@ L9C=K DG?  LAE= AF AFL=JF9D E=EGJQ ;9F :=

*' /1&'. 1( ))#38#. #0& !+55'3 +4 +0 (#%5 /13' )'0'3#. 5*#0 5*+4 #4 +5 #.41 %104+&'34 /6.5+2.' 2#3#..'. &+4-4 13 4+/2.+%+5: 8' .+/+5 163 &+4%644+10 5*' 5*' 4+0).'&+4- %#4' '3' 8' #3' %*'#5+0) # .+55.' $'%#64' 5*' 3115 1( # 53'' +4 015 )6#3#05''& 51 *#7' &')3'' #5 .'#45 05*' 15*'3 *#0& 10' 816.& 013/#..: -''2 5*' 3115 1( 5*' 53'' #0& /#:$' 5*' 345 .'7'. +0 /#+0 /'/13: 41 +0&''& 10' 0'7'30''&451&1/13'5*#0 4

 9 -1 : )1 ;9H9;ALQ D9L=F;Q E9AF E=EGJQ J=?AKL=JK G> KAR=  ) ;9;@=  (  ;Q;D= <9L9 LJ9FKHGJL AF ) ;9;@=  (  ;Q;D=K :DG;CK G> KAR=  ) ;9;@=  *  ;Q;D=K E9AF E=EGJQ $  ;Q;D=K

#A?MJ=  9 0@= &, EG<=D : *=EGJQ @A=J9J;@Q G> L@= &FL=D. &L9FAME.  HJG;=KKGJ

0@AK;9F:=

            0@=J= @9K :==F 9 >9AJ 9EGMFL G> OGJC GF &, =;A=FL 9D?GJAL@EK >GJ KH9LA9D <9L9 #GJ =P9EHD= AL @9K :==F K@GOF L@9L L@= 2GJGFGA 9 K=L G>  HGAFLK AF L@= HD9F= ;9F := ;GEHML=< OAL@  DG?  &,K 68 L@=J= 9J= J=KMDLK GF  L@AK H9H=J LG GJ $&/ 0@= AFL=J=KL=< J=9<=J ;9F ;GFKMDL L@= KMJN=Q :Q J=AE9FF 9F< 29@J=F@GD< 68 >GJ EGJ= J=KMDLK GF &, =;A=FL ?=GE=LJA; 9D?GJAL@EK 0@= JKL HJG:D=E O=  DAF= K=?E=FLK AF L@= HD9F= 0@AK HJG:D=E 9JAK=K O@=F GF= O9FLK LG AFL=JK=;LAF? H9AJK G> DAF= K=?E=FLK 0@AK 9D?GJAL@E KO==HK 9 N=JLA;9D DAF= GN=J L@= HD9F= E9AFL9AFAF? L@= K=?E=FLK AFL=JK=;LAF? AF GJ<=J 9DGF? AF 9 :AF9JQ LJ==  3@=F KL9JLK LG AFL=JK=;L 9 K=?E=FL L@9L K=?E=FL EMKL := AFK=JL=< AFLG   O@=F AL KLGHK LG AFL=JK=;L 9 K=?E=FL L@9L K=?E=FL EMKL := <=D=L=< >JGE   9F< O@=F LOG K=?E=FLK AFL=JK=;LTL@=K= K=?E=FLK EMKL L@=F := F=A?@:GJK 9DGF? KGL@AK;9F := L=KL=< =9KADQTL@=AJ GJ<=J EMKL := J=N=JK=< 0@=J= 9J= 9DKG K=N=J9D GHLAE9D 9D?GJAL@EK O@A;@ JMF AF  DG?   LAE= &F L@= &, EG<=D L@= KALM9LAGF AK D=KK JGKQ DJ=99AJDQ KAEHD= AF AFL=JF9D E=EGJQ AK MKAF? 9 :AF9JQ LJ== LG KLGJ= L@= K=?E=FLK AFL=JK=;LAF? O=;GMDGJ KLGJAF? KH9LA9D <9L9 GF GJ 9 K=L G> J=;L9F?D=K GJ GL@=J G:B=;LK AF L@= HD9F= AK 9 LJ== O@GK= FG<=K @9N= @A?@ <=?J== DAC= 9 LJ== 9F< O@GK= D=9N=K KLGJ= L@= J=;L9F?D=K F AFL=JF9D FG<= KLGJ=K 9 :GMFGJ =9;@ G> ALK KM:LJ==K F9E=DQ L@= :GMF 9DD L@= J=;L9F?D=K KLGJ=< AF L@= D=9N=K G> L@9L KM:LJ== F . LJ== ;9F := MK=< LG 9FKO=J N9JAGMK LQH=K G> IM=JA=K K== L@= :GGC :Q *9FGDGHGMDGK #1 ) 68>GJ9FAF <=HL@. LJ==K9F

11 #GJ =P9EHD= . LJ==K ;9F := MK=< >GJ GJL@G?GF9D J9F?= IM=JA=K J=HGJL 9DD J=;L9F?D=K AFL=JK=;LAF? 9 IM=JQ J=;L9F?D= *9FQ L@= . LJ== @9N= :==F HJGHGK= L@= EGJ= HGHMD9J GF=KT:ML =N=F L@GM?@ . LJ==K H=J>GJE IMAL= O=DD AF HJ9;LA;= FGF= G> L@=E @9< ?GG< :GMF &,K F==<=< LG 9FKO=J GJL@G?GF9D J9F?= IM=JA=K .=;=FLDQ @GO=N=J J?= #1 ) 68 E9F9?=< LG <=N=DGH 9F . LJ== N9JA9FL O@A;@ L@=Q ;9DD L@= 1/## L@9L 9FKO=JK GJL@G?GF9D J9F?= IM=JA=K MKAF? 9F GHLAE9D FME:=J G> &,K F9E=DQ    O@=J= AK L@= FME:=J G> 9FKO=JK #AF9DDQ O= E=FLAGF KGE= G> L@= OGJC L@9L @9K :==F GJ =P9EHD= >GJ @QGJ= FGL KMJHJAKAF? L@9L GO ;GEHML9LAGFK GF L=JJ9AFK @9N= 9DKG :==F KLMGJ L@= ;GEHML9LAGF G> O9L=JK@= L@= FME:=J G> &,K L@=Q H=J>GJE 9K O=DD 9K AF HJ9;LA;= GEH9J=< LG =PAKLAF? $&/ KQKL=EK KM;@ 9K J;&F>G 9F< $.// L@=AJ KG>LO9J= 68 O9K :=LO==F  9F<   LAE=K >9KL=J <=H=F

    

   0@= &, EG<=D AK KMAL9:D= O@=F <9L9 LJ9FK>=J :=LO==F E9AF E=EGJQ 9F< J=9DALQ EG<=JF ;GEHML=J KQKL=EK @9N= 9 O@GD= @A=J9J;@Q G> E=EGJQ D=N=DK G> <=;J=9KAF? KH==< :ML AF;J=9KAF? KAR= J9F?AF? >JGE N=JQ >9KL :ML KE9DD J=?AKL=JK L@JGM?@ K=N=J9D ;9;@= D=N=DK 9F< E9AF E=EGJQ LG L@= N=JQ KDGO :ML D9J?= KM;@ 9 @A=J9J;@Q OAL@ L@= KAR= 9F< L@= D9L=F;Q A= L@= 9;;=KK LAE= E=9KMJ=< AF ;DG;C ;Q;D=K G> L@= N9JAGMK ;9;@= D=N=DK 9F< L@= E9AF E=EGJQ 0@MK L@= AKKM= G> <9L9 LJ9FKHGJL FGL GFDQ HD9QK 9 JGD= :=LO==F L@= E=EGJQ @A=J9J;@Q FGL BMKL OAL@ J=KH=;L LG 9DD =9;@ D=N=D @9K ALK GOF ;@9J9;L=JAKLA;K E=EGJQ KAR=  9F< :DG;C KAR=  9F< LMFAF? L@= 9D?GJAL@E LG :=@9N= O=DD OAL@ J=KH=;L LG =9;@ G> L@=K= H9J9E=L=JK AK N=JQ ;ME:=JKGE= ;LM9DDQ L@= >9;L L@9L L@= 9D?GJAL@E @9K LG := LMF=< LG L@= H9J9E=L=JK  9F<  G> L@= L@=K= H9J9E=L=JK <=H=F< GF L@= KH=;A; HD9L>GJE GF O@A;@ L@= 9D?GJAL@E JMFK "N=F GF 9 P=< HD9L>GJE AL AK FGL ;D=9J O@A;@ H9J9E=L=JK GF= K@GMD< MK= #GJ =P9EHD= 9DL@GM?@ L@= KAR=  G> L@= E9AF E=EGJQ AK P=< >GJ L@= HD9L>GJE L@= 9D?GJAL@E OADD @9N= LG K@9J= L@= E=EGJQ OAL@ GL@=J HJG;=KK=K 9F< KG L@= 9N9AD9:D= E=EGJQ E9Q N9JQ GN=J LAE= DKG =N=F L@GM?@ L@= H@QKA;9D :DG;C KAR= AK <=L=JEAF=< :Q L@= 9 L@= D=N=DK AF L@= E=EGJQ @A=J9J;@Q 9J= @9J9KL E=EGJQ G> DAEAL=< KAR= 9F< 9 KDGO E=EGJQ G> MFDAEAL=< KLGJ9?= ;9H9;ALQ 9F< <9L9 AK LJ9FK>=JJ=< :=LO==F L@= >9KL 9F< L@= KDGO E=EGJQ AF :DG;CK 0@= KDGO E=EGJQ ;GMD< J=HJ=K=FL L@= 9KL E=EGJQ L@= E9AF E=EGJQ GJ L@= KDGO E=EGJQ ;GMD< J=HJ=K=FL L@= E9AF E=EGJQ 9F< L@= >9KL E=EGJQ L@= ) ;9;@= 9F< KG GF 0@AK AK N=JQ EM;@ DAC= L@= &, EG<=D OAL@ GF= ;JM;A9D  AL=EKAFLGGF=:DG;C :=;9MK=AL L@= KH=;A; :DG;C 9F< E=EGJQ KAR=K G> L@= N9JAGMK E=EGJQ D=N=DKTFG LMFAF? G> L@= H9J9E=L=JK AK F=;=KK9JQ :=;9MK= L@= 9D?GJAL@E

  LGHLJ==G>KAR= 

D9QGML GF

   :GLLGE LJ==K =9;@ G> KAR= 

#A?MJ=  "PHGF=FLA9D D9QGML G> 9 :AF9JQ K=9J;@ LJ==

FME:=J G> :DG;C LJ9FK>=JK  L@= AFHML KAR= 9F<  9F< 0@= :=9MLQ AK L@9L L@= 9F9DQKAK L@=F 9HHDA=K LG =N=JQ H9AJ G> 9 L@= E=EGJQ @A=J9J;@Q KAF;= L@= 9F9DQKAK @GDGJ 9FQ  9F<  N9DM=K L JKL L@AK E9Q K==E AEHGKKA:D= @GO ;9F O= <=KA?F 9D?GJAL@EK OAL@GML CFGOAF?  9F<  L@9L O@=F 9F9DQR=< E9?A;9DDQ LMJF GML LG @9N= ?GG< :=@9NAGJ OAL@ J=KH=;L LG  9F<  /MJHJAKAF?DQ =FGM?@ L@AK AK HGKKA:D= MF<=J KGE= EAD< 9KKMEHLAGFK GF L@= :DG;CAF? 9F< J=HD9;=E=FL KLJ9L=?Q MK=< :Q L@= GH=J9LAF? KQKL=E 9K GJE=< 9;;GJ O= OJAL= <9L9 AL=EK   AF GJ<=J L@=F L@= JKL  AL=EK    >GJE 9 :DG;C L@= K=;GF<  AL=EK    >GJE 9 :DG;C 9F< KG GF 3= GJ =P9EHD= A> L@= JKL AL=E OADD := AF L@= K9E= :DG;C 9K L@= L@ AL=E :ML O=  E9Q :=  K=;GF< 9KKMEHLAGF AK L@9L L@= GH=J9LAF? KQKL=E MK=K 9F GHLAE9D :DG;C J=HD9;=E=FL KLJ9L=?Q O@=F 9 :DG;C @9K LG := =NA;L=< >JGE L@= >9KL E=EGJQ LG E9C= JGGE >GJ 9FGL@=J :DG;C L@= GH=J9LAF? KQKL=E ;@GGK=K L@= :DG;C >GJ O@A;@ AL L9C=K L@= E9PAEME LAE= 9EGF? 9DD :DG;CK ;MJJ=FLDQ AF L@= >9KL E=EGJQ :=>GJ= AL AK F==<=< 9?9AF 0@AK E9Q K==E DAC= 9 N=JQ MFJ=9DAKLA; 9KKMEHLAGF :ML 9 J=HD9;=E=FL KLJ9L=?Q DAC= ).1 ;9F := K@GOF LG 9HHJGPAE9L= L@= GHLAE9D KLJ9L=?Q IMAL= O=DD 0@=J= 9J= 9 >=O GL@=J L=;@FA;9D 9KKMEHLAGFK O@A;@ O= OADD FGL GJ 9 L@= 9KKMEHLAGFK &FKL=9< D=LK DGGC 9L 9F =P9EHD= LG ?=L 9F AEHJ=KKAGF G> O@9L AK HGKKA:D= AF L@= EG<=D GFKA<=J L@= K=9J;@AF? HJG:D=E O= GJ= O= O9FL LG KLGJ= 9 K=L G>  =D=E=FLK =9;@ OAL@ 9 C=Q KM;@ L@9L >GJ 9 IM=JQ N9DM= O= ;9F IMA;CDQ F< L@= =D=E=FL  OAL@ (#56 8 A> AL =PAKLK  #GJ ;GFN=FA=F;= O= ;9DD L@= >9KL E=EGJQ AF GMJ 9:KLJ9;L LOG D=N=D EG<=D L@= ! !&# 9F< L@= KDGO E=EGJQ L@= "'0( &> O= OJAL= L@= =D=E=FLK >JGE AF KGJL=< GJ<=J LG GJE=< AF KGJL=< GJ<=J ML O= @9N= K==F L@9L L@AK AK FGL N=JQ ?GG< 9K 9 :AF9JQ K=9J;@ OADD KLADD AF;MJ DG?  :DG;C LJ9FK>=JK &F L@= &, EG<=D O= ;GMD< AEHJGN= L@AK LG DG?  :Q MKAF? 9 LJ== O= HML  C=QK AFLG 9 KAF?D= FG<= KG L@9L 9 FG<= LK AFLG 9 :DG;C 0@AK O9Q O= ;J=9L= 9 K=9J;@ LJ== O@GK= FG<=K @9N= <=?J==  9F KG O= C=QK AF 9 FG<= /G O@9L ;9F O= GDDGOK /MHHGK= O= @9N= 9 FGJE9D :9D9F;=< :AF9JQ K=9J;@ LJ==  GF L@= C=QK 3= OADD <=F= 9F GJ<=JAF? GF L@= FG<=K G>   0@= FG<=K OADD := L@=F OJALL=F LG GJE=< 9;;GJGDDGOK  &E9?AF= ;MLLAF?  AFLG KM:LJ==K9LL@=EA< D9QAF? GML L@= FG<=K GF L@= LJ== KM;@ L@9L 9FQ JGGL LG D=9> H9L@ NAKALK DG?  :DG;CK L@MK E9L;@AF? L@= :GMF< 9;@A=N=< :Q 9 FGJE9D

 LJ== 0@=J= 9J= 9DKG GJ 9 K=N=J9D :9KA; HJG:D=EK #GJ AFKL9F;= L@=J= AK 9 ;9;@= G:DANAGMK KGJLAF? 9D?GJAL@E L@9L MK=K  DG?  &,K 68 =DGO O= :JA=Q E=FLAGF KGE= G> L@= ;9;@= G:DANAGMK 9D?GJAL@EK L@9L @9N= :==F <=N=DGH=< >GJ KH9LA9D <9L9

             /GE= :9KA; ?=GE=LJA; 9D?GJAL@EK @9N= :==F KGDN=< GHLAE9DDQ AF L@= ;9;@= G:DANAGMK EG<=D ,F= =P9EHD= AK L@= HJG:D=E G> ;GEHMLAF? L@= ;GFN=P @MDD G> 9 HD9F9J HGAFL K=L 0@AK AK AF >9;L J9L@=J =9KQ :=;9MK= L@= KL9F<9J< 9D?GJAL@E 68 $J9@9EK K;9F :9KA;9DDQ GFDQ F== 9 KL9;C KM;=K O= ;9F L@MK G:L9AF 9F 9D?GJAL@E L@9L MK=K  DG?  &,K (ME9J 68 <=KA?F=< 9 ;9;@= G:DANAGMK 9D?GJAL@E >GJ ;GEHMLAF? L@= 2GJGFGA L@= 9D?GJAL@E DL@GM?@ L@= KAEHDA=< N=JKAGF AK FG DGF?=J L@=GJ=LA;9DDQ GHLAE9D AL H=J>GJEK O=DD 9F< ;GMD< ;GEHML= 2GJGFGA MH LG    HGAFLK 0@= GJ 9 FME:=J G> HJG:D=EK KM;@ 9K GJL@G?GF9D DAF= K=?E=FL AFL=JK=;LAGF 68 0@= FGJE9D FGF GJL@G?GF9D DAF= K=?E=FL AFL=JK=;LAGF HJG:D=E @9K FGL :==F KGDN=< K9LAK>9;LGJADQ AF L@= ;9;@= G:DANAGMK EG<=D $=GE=LJA; <9L9 KLJM;LMJ=K @9N= J=;=AN=< IMAL= KGE= 9LL=FLAGF AF L@= ;9;@= G:DANAGMK EG<=D *M;@ G> L@= OGJC >G;MKK=< GF KH=;A9DAR=< K=9J;@ KLJM;LMJ=K AF H9JLA;MD9J >GJ GJL@G?GF9D J9F?= K=9J;@AF? 68  ;9;@= G:DANAGMK N9JA9FL G> L@= . LJ== @9K 9DKG :==F <=N=DGH=< 68 DL@GM?@ L@= KLJM;LMJ= @9K ?GG< OGJKL ;9K= L@=GJ=LA;9D :GMFGJ L=JJ9AF <9L9 @9N= @9JL=F KG E9KKAN= L@9L 9;LGJ %=F;= L@= &, EG<=D E9Q K==E KM;A=FL ,F L@= GL@=J @9F< L=JJ9AF <9L9 AK EGJ= 9F< EGJ= 9DKG HJG;=KK=< GF 9 OA<= N9JA=LQ G> HD9L>GJEKT>JGE D9J?= KQKL=EK LG KE9DD @9F<@=D< <=NA;=KTKG AL H9QK G LG @9N= HGJL9:D= ;G<= >GJ O@A;@ H9J9E=L=J LMFAF? AK FGL F=;=KK9JQ 0@MK AL AK DAC=DQ L@9L ;9;@= G:DANAGMK 9D?GJAL@EK >GJ L=JJ9AF <9L9 OADD J=;=AN= EGJ= 9LL=FLAGF AF L@= F=9J >MLMJ=

    

&, 9F< ;9;@AF? :=@9NAGJ G>L=F @9N= 9 E9BGJ AEH9;L GF L@= H=J>GJE9F;= G> 9D?GJAL@EK 0J9G;MKK=K GF L@= -1 ;GEHML9LAGF LAE= AK L@=J=>GJ= FGL 9DO9QK 9<=IM9L= LG HJ=GJE9F;= G> 9F 9D?GJAL@E AF HJ9;LA;= 3= @9N= GJ <=9DAF? OAL@ L@AK HJG:D=E L@= &, EG<=D O@A;@ 9AEK LG ;9HLMJ= L@= @M?= GJ GJ ;GEHML9LAGFK GF <9L9 AF AFL=JF9D E=EGJQ 9F< L@= ;9;@= G:DANAGMK EG<=D O@A;@ 9AEK LG EG<=D EMDLA D=N=D E=EGJQ @A=J9J;@A=K G> EG<=JF ;GEHML=J KQKL=EK 3= @9N= ?AN=F =P9EHD=K G> 9D?GJAL@EK >GJ KH9LA9D <9L9 L@9L @9N= :==F <=N=DGH=< >GJ L@=K= EG<=DK 0@=K= LOG E=L@G L@=AJ <=N=DGHE=FL #GJ L@= &, EG<=D L@=J= AK 9 >9AJ 9EGMFL G> L@=GJQ 9F< >GJ 9 FME:=J G> :9KA; ;GEHML9LAGF9D HJG:D=EK &, GHLAE9D KGDMLAGFK @9N= :==F <=N=DGH=< 0@AK AK FGL LG K9Q L@9L L@=J= 9J= FG EGJ= ;@9DD=F?=KAFL@AK9J=9 =KH=;A9DDQ ?J9H@ 9D?GJAL@EK 9J= KLADD HGGJDQ MF<=JKLGG< AF L@= &, EG<=D *GJ=GN=J =PH=JAE=FLK K@GO L@9L &, =;A=FL 9D?GJAL@EK L@=GJQ ;9F J=9DDQ @=DH LG KH==< MH ;GEHML9LAGFK AF HJ9;LA;= >GJ E9KKAN= <9L9 K=LK %GO=N=J L@= EG<=D MD 9D?GJAL@EK L@9L 9J= =;A=FL AF L@AK EG<=D 9J= 9MLGE9LA;9DDQ =;A=FL OAL@ J=KH=;L LG 9DD ;9;@= D=N=DK 9F< E9;@AF= KH=;A; H9J9E=L=JK AK F==<=< #GJ KGE= :9KA; HJG:D=EK ;9;@= G:DANAGMK KGDMLAGFK @9N= :==F <=N=DGH=< :ML EM;@ AK KLADD GH=F #MJL@=JEGJ= L@=

 HJ9;LA;9D J=D=N9F;= G> L@= EG<=D AK FGL ;D=9J Q=L 0@=J= @9N= :==F 9 >=O =F;GMJ9?AF? =PH=JAE=FLK :ML EM;@ EGJ= J=K=9J;@ AF L@AK 9J=9 AK F==<=< LG =KL9:DAK@ L@= HJ9;LA;9D NA9:ADALQ G> L@= EG<=D

 

68 - ( ?9JO9D ) J?=  !9FF=J 9F<  %GDD9F< *AFCD=Q 9;@= ,:DANAGMK !9L9 /LJM;LMJ=K >GJ ,JL@G?GF9D .9F?= /=9J;@AF? &F /,!  1&  5*-,0'2* ,+ ,*-21 1',+ ) #,*#1/5 H9?=K S  68 - ( ?9JO9D ) J?= 0 * *MJ9DA ( . 29J9<9J9B9F 9F< ' / 2ALL=J &, =;A=FL 9D?GJAL@EK >GJ ;GFLGMJ DAF= =PLJ9;LAGF 9F< HD9F9J ?J9H@ :DG;CAF? &F /,! 1& 5*- ,+ '0!/#1# )%,/'1&*0 H9?=K S  68 -( ?9JO9D ) J?= 9F< ( 4A &, =;A=FL :9L;@=< 1FAGF #AF< 9F< ALK 9HHDA;9LAGFK LG L=JJ9AF 9F9DQKAK 0G 9HH=9J AF /,! +"  5*- ,+ ,*-21 1',+ ) #,*#1/5  68  ??9JO9D 9F< ' / 2ALL=J 0@= &FHML,MLHML ;GEHD=PALQ G> KGJLAF? 9F< J=D9L=< HJG:D=EK ,**2+'! 1',+0 ,$ 1&#   S  68 ) J?= "PL=JF9D E=EGJQ <9L9 KLJM;LMJ=K &F ' :=DDG -* -9J<9DGK 9F< * $  .=K=F<= =GJE9LAGF KQKL=EK &F * N9F (J=N=D< ' +A=N=J?=DL 0@ .GGK 9F< - 3AGJ -JG:D=EK GF $JA< :9K=< 0=JJ9AFK ,2/+ ) ,$ 4-#/'*#+1 ) )%,/'1&*'!0   68 ) J?= ' @9K= - %9DHAF ) 0GE9 ! 1J:9F ' / 2ALL=J 9F< . 3A;CJ=E=KAF?@= #DGO ;GEHML9LAGF GF E9KKAN= ?JA< L=JJ9AFK #,+$,/* 1'!  S  68 ) J?=  !9FF=J % %9N=JCGJL 9F< + 5=@ GEHMLAF? ->9>KL=LL=J )9:=DDAF?K &, ";A=FLDQ &F 01/ !10 01 ,/(0&,- ,+  00'3# #,*#1/'!  1 #10 -AK9  68 ) J?= 9F< ' 29@J=F@GD< &, ";A=FL !QF9EA; -D9F9J -GAFL )G;9LAGF ,*-21 1',+ ) #,*#1/5 &#,/5 +" --)'! 1',+0     68 ) J?= !" 2=F?JG 9F< '/ 2ALL=J "PL=JF9D E=EGJQ 9D?GJAL@EK >GJ HJG;=KKAF? DAF= K=?E=FLK AF ?=G?J9H@A; AF>GJE9LAGF KQKL=EK &F /,! /" ++2 ) 2/,-# + 5*-,0'2* ,+ )%,/'1&*0 )=;LMJ= +GL=K AF GEHML=J /;A=F;=  /HJAF?=J 2=JD9? H9?=K S  68 * =F<=J "! !=E9AF= 9F< * #9J9;@ GDLGF 9;@= ,:DANAGMK 0J==K &F /,!# 01  5*- ,+ ,2+" 1',+0 ,$ ,*-21#/ !'#+!# H9?=K S  68 * <= =J? * N9F (J=N=D< * ,N=JE9JK 9F< , /;@O9JRCGH> ,*-21 1',+ ) #,*1/5 )%,/'1&*0 +" --)'! 1',+0 F< =

 68 $/ JG<9D 9F< . #9?=J?=J? 9;@= G:DANAGMK GJ KH9LA9D K=9J;@AF?&F/,!    +1#/+ 1',+ ) ,+$#/#+!# ,+  + %#*#+1 ,$  1 H9?=K S  68 * #JA?G " )=AK=JKGF % -JGCGH 9F< / .9E9;@9F

 Quad-Edges and Euler Operators for Automatic Building Extrusion Using LIDAR Data

Christopher Gold and Rebecca Tse

GIS Research Centre, School of , University of Glamorgan, Ponrypridd CF37 1DL Wales, UK. [email protected], [email protected]

Our long-term research objective is to integrate man-made objects with the landscape, so that topological properties, such as connectedness, may be used in applications such as flood model- ling. Building information should be extracted directly from LIDAR data.

Several steps are required. Building data points should be separated from the terrain data points by identifying building boundaries, either from cadastral information or by various edge- detection techniques. Bare earth topography is obtained, either from existing information or by filtering the LIDAR data. Data points inside the building boundaries are then processed to give an average building height, and to estimate the roof shape. The buildings are then constructed by treating the terrain TIN model as a CAD type b-rep surface, and performing local modifica- tion of the Quad-Edge by using Euler operators. These operators permit various extrusion operations, as well as the manual insertion of bridges and tunnels.

Two approaches have been taken to the separation of building data from terrain data. Unlike the traditional approach, where walls are represented by non-vertical triangles, our first approach is to insert cadastral boundaries into our TIN by adding sufficient extra points to ensure that the boundaries follow triangle edges. Euler operators are then used to generate a second boundary (the tops of the walls) which is then extruded upwards. A more experimental method uses a coarser network of Voronoi cells that sample the underlying LiDAR data. These cells are then perturbed until each one is entirely part of the (higher) building or (lower) terrain. Building blocks are then extracted.

Data points interior to the building may be used to estimate the height of a supposedly flat- roofed building, or they may be used to extract the form of the roof. This is attempted by calcu- ODWLQJWKHYHFWRUQRUPDOVRI³URRI´WULDQJOHVDQGFDOFXODWLQJWKHHLJHQYDOXHVRIWKHLUGLUHFWLRQ cosines. For simple roof shapes this will give the primary roof orientation, and the pattern of normals indicates the roof form. This information may then be integrated into the surface model.

Introduction

LIDAR (Light Detection and Ranging) data is widely used to construct 3D terrain models to provide realistic impressions of the urban environment and models of the buildings. The latest airborne laser scanning technology allows the capture of very dense 3D point clouds from the terrain and surface features. The most common method is to remove all the buildings, trees and terrain objects and generate a bare-earth model. Then building boundaries are extracted from the LIDAR data points. The buildings are reconstructed using CAD software and pasted on top of the bare-earth model. Our approach integrates the buildings with the topography.

We first describe using Ordnance Survey Landline data for building reconstruction. This in- volves inserting boundary points into the TIN model and then using Euler operators (based on  the Quad-edge data structure) to extrude the building from the TIN. We then suggest an alterna- tive way, the , to extract building outlines from the raw LIDAR data. An addi- tional Euler operator may then be added to permit the insertion of bridges and holes within our structures. Finally, we suggest methods for roof reconstruction within individual buildings.

Building Reconstruction by Using LiDAR Data

Airborne laser scanning allows the capture of very dense point clouds, permitting 3D building reconstruction. This is an active research topic in GIS. However different steps are involved before actually using the laser scanning data. A filtering is used to generate a bare- earth model which removes all the buildings, trees and terrain objects. Morphologic filtering is one of the which are commonly used to solve this problem, for example slope based filtering (Vosselman, 2000) and modified slope based filtering (Roggero, 2002).

Constructive Solid Geometry (CSG) and VRML are the two common methods for modelling and rendering the buildings on the terrain surface respectively. Suveg and Vosselman (2004) used CSG to generate a complex building with the Boolean operations of union, intersection and differences. Rottensteiner and Briese (2003) used VRML to display the generated buildings. However the topological relationships are not kept during the construction. All of the rendered buildings are superimposed on the terrain surface without actually being connected to it. If the topological connectivity is preserved, more kinds of spatial analyses can be performed.

Adding Buildings to a TIN Using Boundary Data

Several steps are used to create a 3D terrain model. They are:

1. Create a TIN model with the filtered LiDAR data. Filter the laser scanning data by one of the methods mentioned above. 2. Add boundary data to the terrain surface. 3. Calculate the average heights of the buildings from the LiDAR data. 4. Extrude the building by using CAD-type Euler Operators while keeping the topological con- nectivity.

Line Tracing Algorithm

In order to model buildings, we need to estimate the ground surface at the foot of the walls de- scribed by the OS Mastermap data. We also need to have triangle edges that follow these lines.

The line tracing algorithm is:

1. Insert two points on the terrain surface. 2. Check if any triangle edge connects these two points. i. Stop if this is true. ii. Insert a point half way between these two points if no edge connects them. 3. For each half of the line repeats step 2 recursively until points A and B are connected by tri- angle edges.

We add the points on the terrain surface and estimate the height of the points by using the sur- face interpolation method of (Dakowicz and Gold, 2002).

18 Building Extrusion Using Euler Operators

We start by creating a 2.5D TIN model and Euler Operators are used to extend the TIN (Tse and Gold, 2002). Building boundaries are added on the terrain surface. Then the boundaries are ex- truded from the ground surface to the height of the building using Euler Operators.

The Basic Quad-Edge Data Structure

We used the Quad-Edge data structure (Guibas and Stolfi, 1985) as the basis of our model. More particularly, the Quad-Edge structure was used to implement a set of Euler Operators that were sufficient for the maintenance of surface triangulations. According to Weiler (1988), if a topological representation contains enough information to recreate nine adjacency relationships without error or ambiguity, it can be considered a sufficient adjacency topology representation. These Euler Operators form the basis of the standard (two-dimensional) incremental triangula- tion algorithm. In addition, Euler Operators can serve to generate holes within our surfaces, thus permitting the modelling of bridges, overpasses etc. that are so conspicuously lacking in the tra- ditional GIS TIN model. The individual Quad-Edge and Euler Operators take only a few lines of code each. "Make-Edge" and "Splices" are the two basic operations on the Quad-Edge struc- ture, which may be formed from four connected "Quad" objects (Fig. 1). Every Quad has three pointers:

Ō N - link to next Quad ("Next") anticlockwise around a face or a vertex Ō R - link to next 1/4 Edge ("Rot") anticlockwise around the four Quads Ō V - link to vertex (or face)

Figure 1. a) MakeEdge operator b) Splice operator.

Implementation of Euler Operators Using the Quad-Edge Data Structure

Five spanning Euler Operators (plus the Euler-Poincaré formula) suffice to specify the number of elements in any boundary representation model (Braid et al., 1978) In TINs there are no loops (holes in individual faces), so these conditions will not be considered further. Thus four spanning Euler Operators suffice for TINs with tunnels or bridges. "Make Edge Vertex Vertex Face Shell" (MEVVFS) creates an initial shell (thiVLVWKHVDPHDV³0DNH(GJH´DERYH DQGLWV  inverse "Kill Edge Vertex Vertex Face Shell" (KEVVFS) removes it. "Make Edge Face" (MEF) and its inverse "Kill Edge Face" (KEF) creates and kills an edge and a face. "Split Edge Make Vertex" (SEMV) splits an edge and creates a vertex, and its inverse is "Join Edge Kill Vertex" (JEKV) - see Fig. 2.

Figure 2. a) MEF b) SEMV c) Swap.

Implementation of the TIN Model Using Euler Operators

In the TIN model we have three main functions, which are:

1. Create a "First Triangle" big enough to contain all the data points and its inverse kill the first triangle 2. Insert, or its inverse, delete a point 3. Swap an edge

In creating the First Triangle, three points are needed as input. Three different Euler Operators are used: MEVVFS, MEF and SEMV. 3 points (pt1, pt2, and pt3) are input to create the First Triangle and 3 edges (e1, e2, and e3) are the output. MEVVFS creates the first edge e1. MEF creates a new edge e3. SEMV splits edge e3. To kill the First Triangle, JEKV joins edge e2 and e3. KEF kills edge e3 and a face. KEVVFS kills the last edge e1, giving an empty space (see Fig. 2).

Fig. 2 also shows inserting and its inverse, deleting, a new point - which makes three edges and two faces. MEF creates an edge N4. SEMV splits an edge N4. In the last step MEF creates a new edge N6. We use KEV and JEKV to delete a point. To delete a point, we use MEF to kill an edge and face. Then we use JEKV to join two edges and kill a vertex. We use KEF to kill edge N4 and its associated face.

Swap is a procedure for swapping two edges inside the TIN model. For the Delaunay Triangula- tion, we use the "in-circle" test to test the triangle, and use the swap operator to change edges.

 The is based on the empty circumcircle criterion. Fig. 2c shows the steps for Swap using Euler Operators. We need to input an edge e to be changed. KEF kills the edge and MEF creates the edge. It swaps the edge between two triangles.

)LJXUHD &UHDWLQJ³)LUVW7ULDQJOH´E ,QVHUWLQJGHOHWLQJDSRLQW

Building Extrusion Using Euler Operators

We used one more Euler Operator to simplify the extrusion procedure. "Make Zero-Length Edge Vertex" (MZEV) and its inverse "Kill Zero-Length Edge Vertex" (KZEV) are used to cre- ate and kill a zero length edge and a vertex.

We selected a rectangle with two triangles and a common edge to extrude a building. MEF cre- ates a face and edge N1, which runs from point pt1 to pt4 in Fig. 4. Three face loops are inside the selected rectangle.

MZEV can be replaced by using MEF, SEMV and KEF. MZEV can simplify the procedures. MZEV is used to split point pt1 in two pieces. Point pt5 is created and edge N5 is created. Point pt5 is vertically on the top of point pt1. They have the same x and y coordinates, but different height values. The height of point pt5 is equal to the building height.

Three more MZEV operators are used (more if the building has more than four corners) until the HQWLUHEXLOGLQJ¶VFRUQHUSRLQWVDUe split. MZEV split pt2, pt3, and pt4 by adding pt6, pt7 and pt8 respectively in Fig. 4. Fig. 5 shows the result for the University of Glamorgan campus.

)LJXUHD $GGLQJDQHGJHE &RPSOHWHH[WUXVLRQ

 Figure 5. a) Building boundaries b) Extruded buildings.

Voronoi City Modelling

Though many researchers are interested in automatic filtering and building extraction algo- rithms when boundaries are not available, there is still room for improvement. With the use of the Delaunay Triangulation and its dual, the Voronoi Diagram, we suggest an alternative way to solve the problem. Several steps are used to rHFRQVWUXFWEXLOGLQJVXVLQJ³9RURQRL&LW\0RGHO OLQJ´7KH\DUH

1. Sample the raw LIDAR data to give a lower density of data points. 2. &UHDWHWKH9RURQRL'LDJUDPRIWKHVDPSOHGGDWDSRLQWV 3. Assign the z-value of the sampled Voronoi centres to the average of the original data points falling within the cell. 4. Pick a sampled Voronoi cell. 5. &RPSDUHWKHSLFNHGVDPSOHG9RURQRLFHOOZLWKLWVQHLJKERXUFHOOV 6. 0RYHWKHFHOODYHUDJHWKHGDWDSRLQWVLQVLGH, and see whether it increases the height differ- ences compared with its neighbours. If so, keep it at its new location. 7. Repeat steps 4 to 6 until every cell is processed. 8. Display the sampled Voronoi cells in a 3D view. 9. Iterate the whole process from steps 1 to 7 until it shows the best building shapes in the 3D view. 10. Extrude all the Voronoi cells using Euler Operators. 11. 0HUJH9RURQRL&HOOVZLWKVLPLODUKHLJKWV 12. Show all the building blocks on the terrain.

Fig. 6 shows the initial Voronoi cells and Fig. 7 shows the result where the building outlines have more or less formed after a few iterations.

 )LJXUH9RURQRL&LW\0RGHOOLQJ±LQLWLDOVWDWH

)LJXUH9RURQRL&LW\0RGHOOLQJ±DIWHUVHYHUDOLWHUDWLRQV

Bridges and Tunnels

We may then perform further on our city model because the topological connec- tivity is preserved. Interactive editing is allowed as in Tse and Gold (2002).

We created a TIN model and extruded buildings using Euler operators. We can then use an ad- ditional Euler operator MEHKF (Make Edge Hole Kill Face) to extend the TIN model with bridges and tunnels (Fig. 8). This method keeps the topological connectivity. The details can be found in Tse and Gold (2002). Fig. 9 shows some simple examples.

 Figure 8. a) Initial condition b) Bridge or hole started using MEHKF c) Extra faces added.

Figure 9. Simple structures created by extrusion and bridge/hole operations.

 Conclusions and Future Work

We have explored the possibility of reconstructing buildings and terrain using LIDAR data. This is simplified by using the Quad-edge structure and Euler operators for TIN construction and building extrusion given building boundary data.

The Voronoi City Modelling approach may produce good results where boundary data is absent, but it is still being refined. When we have the extruded buildings on the terrain, we are attempt- ing to reconstruct the roof from the interior LIDAR points. Using concepts from structural geol- RJ\ZHILUVWFDOFXODWHWKHYHFWRUQRUPDOVRI³URRI´WULDQJOHVDQGWKHQFDOFXODWHWKHHLJHQYDOXHV of their direction cosines. For simple roof shapes the smallest eigenvector will give the primary roof orientation, and the pattern of normals indicates the roof form. This information may then be integrated into the surface model.

References

Braid, I.C., Hilyard R.C. and Stroud, I.A., 1978. Stepwise construction of polyhedra in geomet- ric modelling. In: Brodlie, K.W. (ed.), Mathematical Methods in Graphics and De- sign, Harcourt Brace Jovanovitch, Leicester, p. 123-141. Dakowicz, M. and Gold, C. 2002. Extracting Meaningful Slopes from Terrain Contours. In Pro- ceedings of Computational Science - ICCS 2002, Lecture Notes in vol. 2331, (Amsterdam, The Netherlands), p. 144-153. Guibas, L. and Stolfi, J, 1985. Primitives for the manipulation of general subdivisions and the computations of Voronoi diagrams. ACM Transactions on Graphics 4(2), p. 74-123. Roggero, M. 2002. Airborne laser scanning: clustering in raw data. In Proceedings of IAPRS (Annapolis, MD), vol XXIV-3/W4, p. 227-232. Rottensteiner, F. and Briese, C. 2003. Automatic Generation of Building Models from LIDAR Data and the Integration of Aerial Images. In Proceedings of the ISPRS working group III/3 ZRUNVKRSµ'UHFRQVWUXFWLRQIURPDLUERUQHODVHUVFDQQHUDQG,Q6$5GDWD¶ 'UHVGHQ*HUPDQ\ Institute of Photogrammetry and Remote Sensing Dresden University of Technology). Suveg, I. and Vosselman, G. 2004. Reconstruction of 3D Building Models from Aerial Images and Maps, ISPRS Journal of Photogrammetry & Remote Sensing, 58(3-4), p. 202-224. Tse, R.O.C. and Gold, C.M. 2002. TIN Meets CAD - Extending the TIN Concept in GIS. In Proceedings of Computational Science - ICCS 2002, International Conference, Proceedings of Part III. Lecture Notes in Computer Science (Amsterdam, the Netherlands), p. 135-143. Vosselman, G. 2000. Slope based filtering of laser altimetry data. In Proceedings of IAPRS (Amsterdam, The Netherlands), XXXIII, Part B3, p. 935-942. Weiler, K.J., 1988. Boundary graph operators for non-manifold geometric modelling topology representations. Geometric Modelling for CAD Applications, 1988.

 Algorithms for cartograms and other specialized maps

;JJ?D7 -F;9AC7DD ;F7HJC;DJ E< '7J>;C7J?9I 7D: ECFKJ;H -9?;D9; ./ ?D:>EL;D [email protected]

Abstract Automated cartography generates a large number of challenging algorithmic problems which fall squarely into the area of computational geometry. In this note we review several algo- rithms for specialized map construction that were generated by the computational geometry community. We will focus in particular on the construction of (rectangular) cartograms, but also discuss algorithms for proportional symbol maps.

1 Introduction

ECFKJ7J?ED7B !;EC;JHO 35 ?I 7 8H7D9> E< J>;EH;J?97B 9ECFKJ;H I9?;D9; J>7J 9EDI?:;HI J>; :;I?=D 7D: 7D7BOI?I E< 7B=EH?J>CI 7D: :7J7 IJHK9JKH;I 7J 7H; =;EC;JH?9 ?D D7JKH; #J ?I 7 L;HO IK99;IICI H;I;7H9> 7D: ;NF;H?;D9;: 7 H7F?: =HEMJ> :KH?D= J>; B7IJ JME :;97:;I .>; C;J>E:I :7J7 IJHK9JKH;I 7D: 7B=EH?J>CI :;L;BEF;: 8O J>; 9ECFKJ7J?ED7B =;EC;JHO 9ECCKD?JO D: 7FFB?97J?ED ?D C7DO 7H;7IRM>?9> ?D9BK:; HE8EJ?9I :7J787I;I 9ECFKJ;H =H7F>?9I CEB;9KB7H 8?EBE=O 7D: =;E=H7F>?9 ?DO ?D F7HJ?9KB7H =;D;H7J;I 7 B7H=; DKC8;H E< 9>7BB;D=?D= 7B=EH?J>C?9 FHE8B;CIR?D9BK:?D= 97HJE=H7F>?9 =;D;H7B?P7J?ED B78;B FB79;C;DJ 7D: IF;9?7B?P;: C7F 9EDIJHK9J?EDRM>?9> <7BB IGK7H;BO ?DJE J>; 7H;7 E< 9ECFKJ7J?ED7B =;EC;JHO .>; 7FFHE79>;I 7D: 7B=EH?J>CI :;L;BEF;: 8O 9ECFKJ7J?ED7B =;EC;J;HI J;D: JE 8; 9EC8?D7 JEH?7B ?D D7JKH; 8KJ IEC;J?C;I ?DLEBL; ?J;H7J?L; ;B;C;DJI 7I M;BB #D J>?I DEJ; M; H;L?;M I;L;H7B 7B=EH?J>CI 7J M;H; =;D;H7J;: 8O J>; 9ECFKJ7J?ED7B =;EC;JHO 9ECCKD?JO 1; M?BB ; 9EDIJHK9J?ED E< H;9J7D=KB7H 97HJE=H7CI 8KJ 7BIE :?I9KII 7B=EH?J>CI

2 Cartograms

7HJE=H7CI 7H; 7 KI;; I?P; E< 7 H;=?ED ?D 7 97HJE=H7C 9EHH;IFED:I JE 7 F7HJ?9KB7H =;E=H7F>?9 L7H?78B; .>; CEIJ 9ECCED L7H?78B; ?I FEFKB7J?ED ?D 7 FEFKB7J?ED 97HJE=H7C J>; I?P;I E< J>; H;=?EDI 7H; FHEFEHJ?ED7B JE J>;?H FEFKB7J?ED #D 7 97HJE=H7C J>; I?P;I E< J>; H;=?EDI 7H; DEJ J>; JHK; I?P;I 7D: >;D9; J>; H;=?EDI =;D;H7BBO 97DDEJ A;;F 8EJ> J>;?H I>7F; 7D: J>;?H 7:@79;D9?;I  =EE: 97HJE=H7C >EM;L;H FH;I;HL;I J>; H;9E=D?P78?B?JO ?DIEC;M7O !BE87BBO IF;7A?D= J>;H; 7H; ; IJ7D:7H: JOF;R7BIEH;<;HH;:JE7I 9EDJ?=KEKI 7H;7 97HJE=H7CR>7I :;7J J>; :;I?H;: I?P;I 97D 8; E8J7?D;: 7D: J>; 7:@79;D9?;I A;FJ B=EH?J>CI 97HJE=H7CI M;H; =?L;D 7CED= EJ>;HI 8O .E8B;H 35 EK=;D?A ;J 7B 35 %E9CEK: 7D: "EKI; 35 :;BI8HKDD;H 7D: 17KFEJ?JI9> 35 7D: %;?C ;J 7B 35 1; M?BB FHEL?:; CEH; :;J7?BI ED J>; 9EC8?D7JEH?7B 7B=EH?J>C E< :;BI8HKDD;H 7D: 17KFEJ?I9> ?D J>; ; I;9ED: JOF; E< 97HJE=H7C ?I J>; DED 9EDJ?=KEKI 7H;7 97HJE=H7C 3 5 .>; H;=?EDI >7L; J>; JHK; I>7F; 8KJ 7H; I97B;: :EMD 7D: =;D;H7BBO :E DEJ JEK9> 7DOCEH; -EC;J?C;I J>; I97B;: :EMD H;=?EDI 7H; I>EMD ED JEF E< J>; EH?=?D7B H;=?EDI ?H: JOF; E< 97HJE=H7C ?I 87I;: ED 9?H9B;I 7D: M7I ?DJHE:K9;: 8O EHB?D= 35 .>; JOF; E< 97HJE=H7C ?I J>; H;9J7D=KB7H 97HJE=H7C ?DJHE:K9;: 8O ,7?IP ?D  35 79> H;=?ED ?I H;FH;I;DJ;: 8O 7 I?D=B; H;9J7D=B; M>?9> >7I J>; =H;7J 7:L7DJ7=; J>7J J>; I?P;I 7H;7 E< J>; H;=?EDI 97D 8; ;IJ?C7J;:

 CK9> 8;JJ;H J>7D M?J> J>; HIJ JME JOF;I "EM;L;H J>; H;9J7D=KB7H I>7F; ?I B;II H;9E=D?P78B; 7D: ?J ?CFEI;I B?C?J7J?EDI ED J>; FEII?8B; B7OEKJ "O8H?: 97HJE=H7CI E< J>; HIJ 7D: JOF; ;N?IJ 7I M;BB ";H; H;=?EDI 7H; H;9J?B?D;7H FEBO=EDI M?J> 7 IC7BB DKC8;H E< L;HJ?9;I ?DIJ;7: E< H;9J7D=B;I

Quality criteria. 1>;J>;H 7 9EDJ?=KEKI 97HJE=H7C ?I =EE: ?I :;J;HC?D;: 8O I;L;H7B <79JEHI )D; E< J>;I; ?I J>; cartographic error 3 5 M>?9> ?I :;D;: H;=?ED 7I Ac As /As M>;H; Ac ?I J>; 7H;7 E< J>; H;=?ED ?D J>; 97HJE=H7C 7D: As ?I J>; IF;9?;: 7H;7 E< J>7J H;=?ED =?L;D 8O J>; =;E=H7F>?9 L7H?78B; JE 8; I>EMD .>; ; CEIJ ?CFEHJ7DJ GK7B?JO 9H?J;H?7  L;H7=; 97HJE=H7F>?9 ;HHEH  '7N?CKC 97HJE=H7F>?9 ;HHEH  EHH;9J 7:@79;D9?;I  -K?J78B; H;B7J?L; FEI?J?EDI  )H?=?D7B I>7F; ?I H;9E=D?P78B; EH C7N?CKC 7IF;9J H7J?E ?I 8EKD:;: H;9J7D=KB7H 97HJE=H7CI .>;I; H;GK?H;C;DJI 7H; 9ED?9J?D= 7D: M; 97DDEJ ;NF;9J JE I?CKBJ7D;EKIBO I7J?I

2.1 A combinatorial approach to contiguous cartograms :;BI8HKDD;H 7D: 17KFEJ?JI9> 35 FH;I;DJ;: 7 9EC8?D7JEH?7B 7FFHE79> JE 97HJE=H7C 9EDIJHK9J?ED .>;?H 7B=EH?J>C ?I 87I;: ED I?CFB?9?7B 9ECFB;N;I ?D J>; FB7D; #J C7J9>;I H;=?EDI M?J> 7 IKHFBKI E< 7H;7 M?J> H;=?EDI J>7J >7L; 7 :;9?J 7D: KI;I F7J>I E< JH?7D=B;I JE :;D; :;7J B;J ED; H;=?ED =HEM 7J J>; 9EIJ E< 7DEJ>;H ED; I>H?DA?D= I;; ?=  /D?I 7FFHE79> :E;I DEJ FHE:K9; L?IK7BBO FB;7I?D= EKJFKJ ?< 7BB ?D7J?EDI 7D: :;7J?EDI 7H; F;H;H;; 7KJ>EHI KI;: 7 >;KH?IJ?9 JE=;J>;H M?J> J>;?H 9EC8?D7JEH?7B 7FFHE79> M>?9> 9>7D=;I J>; 7H;7 E< ;79> H;=?ED 8O EDBO 7 IC7BB 7CEKDJ :KH?D= ;79> ?J;H7J?L; IJ;F

?=KH;  #D7J?D= 7D: :;7J?D= H;=?EDI B; E< JH?7D=B;I C?::B;  J>; ;B;9JEH?7B LEJ;I ?D J>;  /- FH;I?:;DJ?7B ;B;9J?ED J>; I>7:;: IJ7J;I I>EM 7 C7@EH?JO 35

2.2 Rectangular cartograms ,;9J7D=KB7H 97HJE=H7CI 7H; 9BEI;BO H;B7J;: JE floor plans ?FI BEEH FB7DD?D= 7?CI JE H;FH;I;DJ 7 FB7D; =H7F>  8O ?JI rectangular dual M>?9> ?I 7 F7HJ?J?ED E< 7 H;9J7D=B; ?DJE H;9J7D=KB7H H;=?EDI M>EI; :K7B =H7F> ?I  I;; ?=  H?=>J #< J>; =H7F>  ?I 7 JH?7D=KB7J;: FB7D; =H7F> M?J>EKJ I;F7H7J?D= JH?7D=B;IR7 I;F7H7J?D= JH?7D=B; ?I 7  9O9B; M?J> L;HJ?9;I 8EJ> ?DI?:; 7D: EKJI?:; J>; 9O9B;RJ>;D 7 H;9J7D=KB7H :K7B 7BM7OI ;N?IJI 3 5 7D: 97D 8; 9ECFKJ;: ?D B?D;7H J?C; 35

 NORTH

GR GR

DR FR FR

DR OV NH NH FL FL OV W E E A S UT S T T UT GE GE ZH ZH

ZE NB LI NB ZE LI SOUTH

?=KH;  .>; FHEL?D9;I E< J>; (;J>;HB7D:I J>;?H 7:@79;D9O =H7F> 7 FEFKB7J?ED 97HJE=H7CR>;H; 7::?J?ED7B 4I;7 H;9J7D=B;I M;H; 7::;: JE FH;I;HL; J>; EKJ;H I>7F;

.>; :K7B EH 7:@79;D9O =H7F> E< CEIJ C7FI ?I 7 JH?7D=KB7J;: =H7F> 8;97KI; KIK7BBO 7J CEIJ J>H;; H;=?EDI C;;J 7J 7DO ED; FE?DJ -;F7H7J?D= JH?7D=B;I E997I?ED7BBO 7H?I; H;; 9EKDJH?;I .>?I ?CFB?;I J>7J 7 FKH;BO H;9J7D=KB7H 97HJE=H7C M?J> 9EHH;9J 7:@79;D9?;I :E;I DEJ ;N?IJ 7J 7BJ>EK=> ;L;HO JH?7D=KB7J;: FB7D; =H7F> M?J>EKJ I;F7H7J?D= JH?7D=B;I >7I 7 H;9J7D=KB7H :K7B J>?I :E;I DEJ ?CFBO J>7J 7D ;HHEH ?I =H7F> ;N?IJI .E8B;H IJ7J;I ?D 7 H;9;DJ IKHL;O 4.>?HJO L; O;7HI E< 9ECFKJ;H 97HJE=H7CI 35 J>7J DED; E< J>; ;N?IJ?D= 97HJE=H7C 7B=EH?J>CI 7H; 97F78B; E< =;D;H7J?D= H;9J7D=KB7H 97HJE=H7CI "EM;L;H ;L;D CEH; H;9;DJBO L7D %H;L;B: 7D: -F;9AC7DD FH;I;DJ;: J>; HIJ 7B=EH?J>CI ;I; 7B=EH?J>CI 7H; ?J;H7J?L; 7D: I;C? 9EC8?D7JEH?7B 7D: 7H; IA;J9>;: 8;BEM

Algorithmic Outline. IIKC; J>7J M; 7H; =?L;D 7D 7:C?D?IJH7J?L; IK8:?L?I?ED ?DJE 7 I;J E< H; =?EDI .>; 7:@79;D9?;I E< J>; H;=?EDI 97D 8; H;FH;I;DJ;: ?D 7 =H7F>  M>?9> ?I J>; <79; =H7F> E< J>; IK8:?L?I?ED

1. Preprocessing: .>; <79; =H7F>  ?I ?D CEIJ 97I;I 7BH;7:O JH?7D=KB7J;: ;N9;FJ 7L; JE FHE9;II ?DJ;HD7B L;HJ?9;I E< :;=H;; B;II J>7D ;D JH?7D=KB7J; 7DO H;C7?D?D= DED JH?7D=KB7H <79;I

2. Directed edge labels: DO JME DE:;I ?D J>; <79; =H7F> >7L; 7J B;7IJ ED; :?H;9J?ED E< 7:@79;D9O M>?9> ;?H =;E=H7F>?9 BE97J?ED 1>?B; ?D J>;EHO J>;H; 7H; 7L; ?D FH79J?9; EDBO ED; EH JME :?H;9J?EDI 7H; H;7IED78B; 7D: ?D <79J J>;H; ?I EDBO 7 IC7BB DKC8;H E< 7:@79;DJ H;=?EDI M>;H; CEH; J>7D ED; :?H;9J?ED ?I H;7IED78B; .>; 7B=EH?J>CI =E J>HEK=> 7BB FEII?8B; 9EC8?D7J?EDI E< :?H;9J?ED 7II?=DC;DJI 7D: :;J;HC?D; M>?9> ED; =?L;I 7 9EHH;9J EH J>; 8;IJ H;IKBJ 1; 97BB 7 F7HJ?9KB7H 9>E?9; E< 7:@79;D9O :?H;9J?EDI 7 directed edge labeling Observation 1 A face graph F with a directed edge labeling can be represented by a rectangular dual if and only if

1. every internal region has at least one North, one South, one East, and one West neighbor, and 2. when traversing the neighbors of a node in clockwise order starting at the western most North neighbor we first encounter all North neighbors, then all East neighbors, then all South neighbors and finally all West neighbors.

 H;7B?P78B; :?H;9J;: ;:=; B78;B?D= 9EDIJ?JKJ;I 7 regular edge labeling ?9> ?CC;:?7J;BO ?CFB?;I EKH E8I;HL7J?ED

 NORTH NORTH NO IS ME SE FI VT NH ND EE LV WA MN WI MT MI NY MA DK LT ID IE SD GB CT BY RI RU OR NL PL WY IA NE IL NJ IN OH PA DE W E W BE E E A E A S NV UT CO DE S S LU S KS MO CZ UA T WV T T T KY MD VA FR SK MD CA TN OK NC CH AT AR HU RO SC SI AZ NM GA HR TR TX MS AL CS ES IT BA BG LA PT AL MK FL MT GR CY

SOUTH SOUTH

?=KH;  "?=>M7O A?BEC;J;HI E< J>; /- J>; FEFKB7J?ED E< KHEF; 9EKDJHO 9E:;I 799EH:?D= JE J>; #-)  IJ7D:7H:

3. Rectangular layout: .E 79JK7BBO H;FH;I;DJ 7 <79; =H7F> JE=;J>;H M?J> 7 H;7B?P78B; :?H;9J;: ;:=; B78;B?D= 7I 7 H;9J7D=KB7H :K7B M; >7L; JE F7O IF;9?7B 7JJ;DJ?ED JE J>; DE:;I ED J>; EKJ;H <79; I?D9; J>;O C7O C?II D;?=>8EHI ?D KF JE J>H;; :?H;9J?EDI .E 9ECF;DI7J; 7J M; 7:: 7J >;BF JE FH;I;HL; J>; EH?=?D7B EKJB?D; E< J>; IK8:?L?I?ED .>;D M; 97D ;CFBEO J>; 7B=EH?J>C 8O "; 7D: %7DJ 35 JE 9EDIJHK9J 7 rectangular layout ? ; J>; KD?GK; H;9J7D=KB7H :K7B E< 7 H;7B?P78B; :?H;9J;: ;:=; B78;B?D=

4. Area assignment: EH 7 =?L;D I;J E< 7H;7 L7BK;I 7D: 7 =?L;D H;9J7D=KB7H B7OEKJ M; MEKB: B?A; JE :;9?:; ?< 7D 7II?=DC;DJ E< J>; 7H;7 L7BK;I JE J>; H;=?EDI ?I FEII?8B; M?J>EKJ :;IJHEO?D= J>; 9EHH;9J 7:@79;D9?;I ->EKB: J>; 7DIM;H 8; D;=7J?L; EH I>EKB: J>; GK;IJ?ED 8; KD:;9?:78B; J>;D M; IJ?BB M7DJ JE 9ECFKJ; 7 97HJE=H7C J>7J >7I 7 IC7BB 97HJE=H7F>?9 ;HHEH M>?B; C7?DJ7?D?D= H;7IED78B; 7IF;9J H7J?EI 7D: H;B7J?L; FEI?J?EDI #D 35 J>H;; 7B=EH?J>CI 7H; :;I9H?8;: J>7J 9ECFKJ; 7 97HJE=H7C ?I MEHA ?I ;NJ;D:;: ?D 35 M>;H; 7 7B=EH?J>C ?I ?DJHE:K9;: .>; HIJ 7B=EH?J>C FH;I;DJ;: ?D 35 ?I J>; I?CFB; I;=C;DJ CEL?D= >;KH?IJ?9 M>?9> BEEFI EL;H 7BB C7N?C7B I;=C;DJI ?D J>; B7OEKJ 7D: CEL;I ;79> M?J> 7 IC7BB IJ;F ?D J>; :?H;9J?ED J>7J :;9H;7I;I J>; C7N?CKC ;HHEH E< J>; 7:@79;DJ H;=?EDI 7J 7BB C7N?C7B I;=C;DJI >7L; CEL;: JE 7 BE97BBO EFJ?C7B FEI?J?ED "EM;L;H J>;H; ?I DE FHEE< J>7J J>; C;J>E: H;79>;I J>; =BE87B EFJ?CKC EH J>7J ?J ;L;D 9EDL;H=;I -;9ED:BO ?< J>; H;9J7D=KB7H B7OEKJ ?I & I>7F; :;IJHK9J?8B; I;; 35 J>;D ED; 97D 9ECFKJ; 7 P;HE ;HHEH 97HJE=H7C ?< ED; ;N?IJI .>; J>?H: C;J>E: ?I 87I;: ED 8?B?D;7H FHE=H7CC?D= 7D: 97D FHE:K9; 7 97HJE=H7C M?J> C?D?CKC C7N?C7B ;HHEH FHEL?:;: 7 =EE: 8?B?D;7H FHE=H7C IEBL;H ?I 7L7?B78B; /D; 7L7?B78B; IEBL;HI ?I =K7H7DJ;;: JE MEHA 35 #D 35 7H;7 7II?=DC;DJ ?I ?9> J7A;I EDBO J>; L;HJ?97B EH EDBO J>; >EH?PEDJ7B I;=C;DJI ?DJE 799EKDJ .>; 7B=EH?J>C J>;D 7BJ;HD7J?D=BO IEBL;I 7 B?D;7H FHE=H7C ; L;HJ?97B 7D: J>; >EH?PEDJ7B I;=C;DJI .>; I;=C;DJ CEL?D= >;KH?IJ?9 7D: J>; B?D;7H FHE=H7C C?D= 87I;: 7FFHE79> M;H; ?CFB;C;DJ;:RJ>; B7JJ;H KI?D= J>; M;BB ADEMD *& 2 FHE=H7C 35 EJ> C;J>E:I 97D H;B7N J>; 7:@79;D9O 9EDIJH7?DJI JE 9ECFKJ; 97HJE=H7CI M?J> BEM;H 97HJE=H7F>?9 ;HHEH 7J J>; 9EIJ E< C?B: :?IJKH87D9;I ?D J>; 7:@79;D9?;I BJ>EK=> J>; I;=C;DJ CEL?D= >;KH?IJ?9 E;J?97BBO FB;7I?D= 97HJE=H7CI M?J> IC7BB ;HHEH I;; ?=KH;  B;; B?D;7H FHE=H7CC?D= 87I;: 7FFHE79> ?D =;D;H7B FHE:K9;I 97HJE=H7CI M?J> 7 BEM;H 97HJE=H7F>?9 ;HHEH 7 IC7BB;H 7IF;9J H7J?E 7D: 7 8;JJ;H =BE87B I>7F; KHJ>;HCEH; ?J ?I 7BIE 78B; JE >7D:B; & I>7F;: H;=?EDI ?D 7 97HJE=H7C I;; ?=KH;  H?=>J 7D: JE 9ECFKJ; I7J?I<79JEHO 97HJE=H7CI E< 7BB 9EKDJH?;I E< J>; 1EHB: I;; ?=KH;  M>;H;7I J>; FH;L?EKI C;J>E: E

 NORTH NOR CAN FIN SWE EST RUS LVA AZE DNK LTU BLR IRL GBR KAZ MNG NLD PRK POL GEO KGZ BEL DEU UKR UZB TJK USA TKM CZE SVK ARM FRA MDA AFG KOR CHE AUT HUN ROU SVN HRV TUR ITA SCG JPN ESP BIH BGR PRT CHN ALB MKB IRQ GRC IRN PAK

SYR

LBN MEX CUB HTI DOM MMR TWN ISR KWT LAO JOR W ARE E SAU NPL E EGY A S TUN VNM S MAR DZA LBY YEM BTN MRT T GMB SEN PHL T OMN MLI NER TCD ERI GNB GIN BFA GTM SLE JAM KHM TTO LBR CIV CMR SDN THA GHA BEN HND GAB CAF TGO ETH SLV NIC COG CRI PAN IND UGA VEN SOM COL BGD NGA COD RWA KEN IDN BDI ECU PER MYS BRA TZA

AGO ZMB MWI SGP TLS PNG BOL MOZ

NAM ZWE CHL PRY BWA SWZ MDG URY MUS ZAF AUS LSO LKA ARG NZL

SOUTH

?=KH;   FEFKB7J?ED 97HJE=H7C E< J>; 1EHB:

2.3 Rectilinear cartograms ,;9J?B?D;7H 97HJE=H7CI 7H; 7 =;D;H7B?P7J?ED E< H;9J7D=KB7H 97HJE=H7CI M>;H; H;=?EDI 97D 8; H;9J7D =B;I EH & I>7F;I EH 7DO EJ>;H JOF; E< H;9J?B?D;7H FEBO=ED ,;97BB J>7J ;L;D ?< 7 FB7D; JH?7D=KB7J;: =H7F>  >7I 7 H;9J7D=KB7H :K7B J>;D J>?I :E;I DEJ ?CFBO J>7J 7D ;HHEH EMI 7D ;N7CFB; M>;H; 9EHH;9J 7:@79;D9?;I CKIJ 8; I79H?9;: ?D EH:;H JE =;J 7 IC7BB 97HJE=H7F>?9 ;HHEH "EM;L;H ?< M; 7BBEM J>; H;=?EDI JE 8; H;9J?B?D;7H FEBO=EDI J>;D 7 97HJE=H7C M?J> P;HE 97HJE=H7F>?9 ;HHEH 7D: 9EHH;9J 7:@79;D9?;I ;N?IJI  7D: 7DO 7II?=DC;DJ E< 7H;7I JE H;=?EDI

A C A C (80) (20)

B D B D (20) (80)

?=KH;  D ?DFKJ ?9> DE H;9J7D=KB7H 97HJE=H7C >7I P;HE ;HHEH 7D: 9EHH;9J 7:@79;D9?;I

'EH; IF;9?97BBO :; ;H= ;J 7B 35 L;HO H;9;DJBO FHEL;: J>; RJ>; 7:@79;D9O =H7F> E< J>; ?DFKJ C7FRM>;H; ;79> L;HJ;N ?I 7II?=D;: 7 FEI?J?L; M;?=>JRJ>; FH;<;HH;: 7H;7 E< J>; H;=?ED J>7J 9EHH;IFED:I JE J>?I L;HJ;N  H;9J?B?D;7H :K7B E<  ?I 7 F7HJ?J?ED E< 7 H;9J7D=B; ?DJE V  I?CFB; H;9J?B?D;7H H;=?EDI ED; L;HJ;N IK9> J>7J JME H;=?EDI 7H; 7:@79;DJ ?< 7D: EDBO ?< J>; 9EHH;IFED:?D= L;HJ?9;I 7H; 9EDD;9J;: 8O 7D ;:=; ?D E  H;9J?B?D;7H 97HJE=H7C ?I 7 H;9J?B?D;7H :K7B M>;H; J>; 7H;7 E< ;79> H;=?ED ?I ;GK7B JE J>; M;?=>J E< J>; 9EHH;IFED:?D= L;HJ;N

 NORTH NORTH

IS NO ME SE FI VT NH ND NY EE WA MN MA LV MI DK LT MT BY WI ID SD CT RI IE

GB NL IA OR PA PL RU NE NJ WY DE IN OH W E W UA E E IL WV MD A E BE LU A S DE S S CZ SK S T NV UT CO KS MO T T T KY VA CH AT

SI MD TN NC HU CA FR RO OK AR HR CS BA GA AL MK BG AZ NM SC IT TX MS AL PT TR LA GR ES FL MT

CY SOUTH SOUTH

?=KH;  "?=>M7O A?BEC;J;HI E< J>; /- =HEII :EC;IJ?9 FHE:K9J !* E< KHEF;

Theorem 1 Every vertex-weighted plane triangulated graph  admits a rectilinear cartogram of constant complexity, that is, a cartogram where the number of vertices of each region is constant.

.>; FHEE< FH;I;DJ;: ?D 35 ?I 9EDIJHK9J?L; 7D: J>; KD:;HBO?D= 7B=EH?J>C >7I 8;;D ?CFB;C;DJ;: #J FHE:K9;I H;=?EDI E< L;HO IC7BB 9ECFB;N?JOR?D <79J CEIJ H;=?EDI 7H; H;9J7D=B;I I;; ?=KH; 

3 Proportional Symbol Maps

*HEFEHJ?ED7B IOC8EBI C7FI 7BIE ADEMD 7I grad- uated symbol maps 7H; 7 M;BB ;IJ78B?I>;: 97HJE DWN =H7F>?9 JEEB JE L?IK7B?P; GK7DJ?J7J?L; :7J7 J>7J ?I 7IIE9?7J;: M?J> IF;9?9 FE?DJ BE97J?EDI  IOC 8EB CEIJ 9ECCEDBO 7 :?IA EH 7 IGK7H; ?I I97B;:

IK9> J>7J ?JI 7H;7 9EHH;IFED:I JE J>; :7J7 L7BK; 7I BNE

IE9?7J;: M?J> 7 FE?DJ 7D: J>;D FB79;: 7J ;N79JBO PTH

ADL SYD J>7J FE?DJ ED 7 =;E=H7F>?9 C7F .>; IF7J?7B :?IJH? 0DJ CNB MLB 8KJ?ED E< J>; :7J7 97D J>;D 8; E8I;HL;: 8O IJK:O?D=   J>; IF7J?7B :?IJH?8KJ?ED E< J>; :?;H;DJBO I?P;: IOC  HBT  8EBI .OF?97B :7J7 J>7J 7H; L?IK7B?P;: ?D J>?I M7O ?D9BK:; J>; C7=D?JK:; E< ;7HJ>GK7A;I I;; ?=  ?=KH;   FHEFEHJ?ED7B IOC8EB C7F J>; FHE:K9J?ED E< E?B M;BBI EH J>; J;CF;H7JKH; 7J :;F?9J?D= KIJH7B?7D ;7HJ>GK7A;I E< I?P; M;7J>;H IJ7J?EDI > . ED J>; ,?9>J;H I97B; 35  FHEFEHJ?ED7B IOC8EB C7F 9ECCKD?97J;I ?JI C;II7=; L?7 J>; I?P;I E< ?JI IOC8EBIR8EJ> J>; 79JK7B I?P; E< J>; IOC8EBI 7D: J>; H7J?E 8;JM;;D IOC8EB I?P;I .>;H; ;N?IJI 7 B7H=; 7CEKDJ E< J>;EHO 7D: KI;H IJK:?;I J>7J :?I9KII M>?9> I?P?D= 9ECCKD?97J;I J>; :?;H;D9; 8;JM;;D GK7DJ?J?;I ?D J>; CEIJ ;;9J?L; M7O I;; J>; 8EEAI 8O ;DJ 35 7D: -BE9KC ;J 7B 35 ?B; ?J ?I 9ECCEDBO 7=H;;: KFED J>7J 7 C7F I>EKB: 7FF;7H 4D;?J>;H 6JEE EM CK9> J>; IOC8EBI ED 7 FHEFEHJ?ED7B IOC8EB C7F I>EKB: EL;HB7F 8KJ ;L;HO 4=EE: C7F M?BB 9EDJ7?D 7J B;7IJ IEC; EL;HB7FF?D= IOC8EBI #D FH?D9?FB; 7DO JME EH J>H;; :?C;DI?ED7B I>7F; 97D 8; KI;: 7I 7 IOC8EB ED 7 FHEFEHJ?ED7B IOC8EB C7F "EM;L;H 9?H9B;I JH7DIF7H;DJ 7D: :?IAI EF7GK; 7H; KI;: CEIJ ;O 7H; L?IK7BBO IJ78B; J>;O 9EDI;HL; C7F IF79; 7D: KI;HI :E FH;<;H J>;C BJ>EK=> EF7GK; IOC8EBI E8I9KH; ;79> EJ>;H 7D: 7BIE J>; C7F 8;BEM J>;C KI;HI ?D:?97J; 35 7 FH;<;H;D9; ;H; 7H; C7DO :?;H;DJ M7OI JE 7HH7D=; EF7GK; IOC8EBI M?J> H;IF;9J JE ;79> EJ>;H 7D: 7DO 9>E?9; E< F7HJ?7B EH:;H C7A;I IEC; IOC8EBI CEH; L?I?8B; J>7D EJ>;HI 78;BBE ;J 7B 35 L;HO H;9;DJBO IJK:?;: J>; 7B=EH?J>C?9 GK;IJ?ED >EM JE 7HH7D=; 7 =?L;D I;J E< EL;HB7FF?D= :?IAI IK9> J>7J 7BB E< J>;C 97D 8; I;;D 47I M;BB 7I FEII?8B; ;BEMM;HIJ =?L; 7 CEH; :;J7?B;: FHE8B;C :;I9H?FJ?ED 7D: J>;D IA;J9> IEC; E< J>;?H H;IKBJI

 ?=KH;  D 7HH7D=;C;DJ  7 :H7M?D= M?J>  L?I?8B; 7D: 7 8EKD:;: :H7M?D=

Definitions and notation. &;J S 8; 7 I;J E< n :?IAI D1,...,Dn ?D J>; FB7D; 1; :;DEJ; 8O  J>; 7HH7D=;C;DJ ; 8EKD:7H?;I E< J>; :?IAI ?D S drawing  E< S ?I 7 IK8 7HH7D=;C;DJ E<  M>?9> ?I :H7MD ED JEF E< J>; BB;: ?DJ;H?EHI E< J>; :?IAI ?D S (EJ ;L;HO :H7M?D= ?I IK?J78B; ; KI; ED 7 FHEFEHJ?ED7B IOC8EB C7F  IK?J78B; :H7M?D= D;;:I JE ?D9BK:; 7J B;7IJ J>; 8EKD:7HO E< J>; KD?ED E< J>; :?IAI ?D S #J I>EKB: 8; BE97BBO 9EHH;9J 7J J>; L;HJ?9;I ;L;HO L;HJ;N v E< J>; :H7M?D= ?I ; ?DJ;HI;9J?ED E< J>; 8EKD:7H?;I E< JME :?IAI Di 7D: Dj7:H7M?D= ?I BE97BBO 9EHH;9J 7J v ?< ?J 9EHH;IFED:I BE97BBO 7HEKD: v JE IJ79A?D= Di EDJE Dj EH L?9; L;HI7 KHJ>;HCEH; 7 IK?J78B; :H7M?D= CKIJ >7L; EDBO 9EHH;9J <79;I 7 <79; E< J>; :H7M?D= ?I 9EHH;9J ?< J>;H; ?I 7D EH:;H ?D M>?9> 7BB :?IAI ?D S J>7J 9EDJ7?D J>; <79; 97D 8; :H7MD ED JEF E< ;79> EJ>;H IK9> J>7J J>; <79; 7FF;7HI 1; 97BB :H7M?D=I J>7J I7J?I;I; 9ED:?J?EDI face correct ?=KH;  I>EMI J>7J ;L;D 7 <79; 9EHH;9J :H7M ?D= 97D IJ?BB >7L; 7D 4 I9>;H B?A; GK7B?JO M>?9> M; MEKB: B?A; JE 7LE?: ED 7 FHEFEHJ?ED7B IOC8EB C7F ";D9; M; D;;: JE ;D7J 9EDIJ?JKJ;I 7 FHEF;H :H7M?D= 1; 9EDI?:;H JME JOF;I E< :H7M?D=I ?=KH;   <79; 9EHH;9J :H7M?D= I>EMD Physically realizable drawings.  <79; 9EHH;9J M?J> 7D: M?J>EKJ  L?I?8B; :H7M?D= ?I F>OI?97BBO H;7B?P78B; ?< 7D: EDBO ?< ;H; ;N?IJI 7 JEJ7B EH:;H ED J>; :?IAI ?D Sf J>; :?IAI ?D S J>7J 9EDJ7?D f IK9> J>7J J>; JEFCEIJ :?IA ?I L?I?8B; 7D: J>; EH:;HI 7IIE9?7J;: M?J> 7DO JME <79;IE< :E DEJ 9ED?9J .>7J ?I J>; EH:;H ?D M>?9> J>; :?IAI ?D S 7H; IJ79A;: KFED ;79> EJ>;H ?I KD?GK;BO :;J;HC?D;: 7J ;L;HO <79; E<  7D: DE JME E< IK9> EH:;HI 9ED?9J #D F7HJ?9KB7H 7DO JME EH CEH; :?IAI J>7J >7L; 7 9ECCED ?DJ;HI;9J?ED >7L; 7 KD?GK; EH:;H?D=

Stacking drawings.  IJ79A?D= :H7M?D= ?I 7 D7JKH7B H;IJH?9J?ED E< 7 F>OI?97BBO H;7B?P78B; :H7M?D= 7D: 7BIE J>; ED; CEIJ OI?97BBO H;7B?P78B; :H7M?D=  ?I 7 IJ79A?D= :H7M?D= ?< J>;H; ;N?IJI 7 JEJ7B EH:;H ED J>; :?IAI ?D S IK9> J>7J  ?I J>; H;IKBJ E< IJ79A?D= J>; :?IAI ?D J>?I EH:;H

b2

a b1 b3

?=KH;   IJ79A?D= :H7M?D= B;OI?97BBO H;7B?P78B; :H7M?D= J>7J?IDEJ7IJ79A?D= :H7M?D= C?::B; 7 :H7M?D= J>7J C7O I;;C F>OI?97BBO H;7B?P78B; 8KJ ?I DEJR7DO EH:;H ED; E< b1 b2 EHb3 H?=>J

 Quality of a drawing. #DJK?J?L;BO 7 =EE: :H7M?D= I>EKB: ;D78B; J>; L?;M;H JE I;; 7J B;7IJ IEC; F7HJ E< 7BB :?IAI 7D: JE @K:=; J>;?H I?P;I 7I 9EHH;9JBO 7I FEII?8B; .>; 799KH79O M?J> M>?9> J>; I?P; E< 7 :?IAI 97D 8; @K:=;: ?I FHEFEHJ?ED7B JE J>; FEHJ?ED E< ?JI 8EKD:7HO J>7J ?I L?I?8B; .>?I B;7:I KI JE J>; 7J M; 7H; =?L;D 7 I;J S E< n :?IAI S1,...Sn

Max-Min: ?D: 7 F>OI?97BBO H;7B?P78B; EH 7 IJ79A?D= :H7M?D= J>7J C7N?C?P;I J>; C?D?CKC L?I?8B; 8EKD:7HO B;D=J> E< ;79> :?IA J>7J ?I C7N C?D1inL?I?8B; B;D=J> E< J>; 8EKD:7HO E< Si Max-Total: ?D: 7 F>OI?97BBO H;7B?P78B; EH 7 IJ79A?D= :H7M?D= J>7J C7N?C?P;I J>; JEJ7B L?I?8B; 8EKD:7HO B;D=J> EL;H 7BB :?IAI

?=KH;  ?BBKIJH7J;I M>O M; 9EDI?:;H EDBO L?I?8B; 8EKD:7HO B;D=J> 7D: DEJ L?I?8B; 7H;7 E< :?IAI .>; 8EKD:7HO E< J>; 9;DJ;H :?IA ?I 9ECFB;J;BO 9EL;H;: 8KJ 7 I?=D?97DJ F7HJ E< ?JI 7H;7 ?I IJ?BB L?I?8B; #J ?I >EM;L;H ?CFEII?8B; JE @K:=; ?JI I?P; EH JE :;J;HC?D; J>; BE97J?ED E< ?JI 9;DJ;H ?=KH;  I>EMI J>7J 7 IJ79A?D= :H7M?D= 97D 8; 7H8?JH7H?BO CK9> MEHI; J>7D 7 F>OI?97BBO H;7B?P78B; :H7M?D= M?J> H;IF;9J JE J>; '7N '?D FHE8B;C J B;7IJ >7B< E< J>; 8EKD:7HO E< ;L;HO :?IA ?D ?=KH;  B;;H;7I J>; BEM;IJ :?IA ?D 7DO IJ79A?D= :H7M?D= ?I 9EL;H;: 8O ?JI JME D;?=>8EHI 7D: >;D9; >7I EDBO 7 L;HO I>EHJ L?I?8B; 8EKD:7HO

?=KH;  0?I?8B; F;H?C;J;H ?=KH;  D EFJ?C7B F>OI?97BBO H;7B?P78B; :H7M?D= ?I CEH; ?CFEHJ7DJ J>7D L?I? B;; I7C; :?IAI 8B; 7H;7 H?=>J

78;BBE ;J 7B 35 I>EM;: J>7J OI?97BBO H;7B?P78B; :H7M?D=I 8EJ> J>; '7N '?D 7D: J>; '7N .EJ7B FHE8B;CI 7H; NP-hard J>7J ?I J>;O 8;BED= JE 7 9B7II E< FHE8B;CI J>7J 97DRCEIJ B?A;BORDEJ 8; IEBL;: ?D FEBODEC?7B J?C; KJ J>; '7N '?D FHE8B;C ;  H;F;7J;:BO 9>EEI; J>; :?IA J>7J >7I CEIJ E< ?JI 8EKD:7HO L?I?8B; ?< ?J M;H; JE 8; FB79;: 7J J>; 8EJJEC .>?I :?IA 97D 8; :;J;HC?D;: ?D O n BE= n J?C; 8O J>; 9B;L;H KI; E< 7K=C;DJ;: I;=C;DJ JH;;I #< DE FE?DJ ?D J>; FB7D; ?I 9EL;H;: 8O CEH; J>7D 7 9EDIJ7DJ DKC8;H E< :?IAI J>;D J>; FHE8B;C 97D ;L;D 8; IEBL;: ?D O n BE= n J?C; 8;97KI; J>; 7HH7D=;C;DJ E< J>; :?IAI >7I EDBO B?D;7H 9ECFB;N?JO ?D J>?I 97I; .>;H; ?I 9KHH;DJBO DE ;9?;DJ 7B=EH?J>C ADEMD ; '7N .EJ7B FHE8B;C E:I ;?H GK7B?JO .>;?H IEBKJ?ED JE J>; '7N '?D FHE8B;C F;H H;IF;9J JE J>; L?IK7B GK7B?JO E< J>; C7FI

4 Conclusions

.>?I DEJ; :?I9KII;: I;L;H7B 7B=EH?J>CI 7J M;H; =;D;H7J;: 8O J>; 9ECFKJ7J?ED7B =;EC;JHO 9ECCKD?JO #D F7HJ?9KB7H ?J :;I9H?8;: 7B=EH?J>CI O ?I 7 H?9> IEKH9; E< ?DJ;H;IJ?D= 7D: 9>7BB;D=?D= =;EC;JH?9 FHE8B;CI J>7J 8H?D=I JE=;J>;H H;I;7H9>;HI O 7D: 9EC FKJ;H I9?;D9; .>;H; ?I 7 M;7BJ> E< FHE8B;CI J>7J H;C7?D JE 8; ;NFBEH;:RORM>?9> M?BB ;DIKH; 7 9EDJ?DK7J?ED E< J>?I

 References

35 ' - 7P7H77 "  ->;H7B? 7D:  ' ->;JJO Nonlinear Programming - Theory and Algo- rithms $E>D 1?B;O  -EDI "E8EA;D ($ D: ;:?J?ED  35 $ >7IA;H 7D: - -7>D?  B?D;7H 7B=EH?J>C JE 9>;9A ; ;N?IJ;D9; E< 7 H;9J7D=KB7H :K7B E< 7 FB7D7H JH?7D=KB7J;: =H7F> Networks Q  35 - 78;BBE " "7L;HAEHJ ' L7D %H;L;B: 7D:  -F;9AC7DD B=EH?J>C?9 7IF;9JI E< FHE FEHJ?ED7B IOC8EB C7FI #D Proc. 14th European Symposium on Algorithms  .E 7FF;7H 35 *& 2 "?=> F;H;C7J?97B FHE=H7CC?D= 7D: EFJ?C?P7J?ED http://www.ilog.com/products/cplex/ 35 ' :; ;H= 'KCJ;: FB7D; =H7F>I #D Proc. 13th Int. Sympos. on Graph Drawing DKC8;H  ?D &(- F7=;I Q  35 '7HA :; ;H= '7H9 L7D %H;L;B: '7HA )L;HC7HI 7D: )JM7HPAEF< Computational Geometry: Algorithms and Applications -FH?D=;H 0;HB7= ;HB?D !;HC7DO D: ;:?J?ED  35   ;DJ Cartography - thematic map design '9!H7M "?BB J> ;:?J?ED  35  EHB?D= Area Cartograms: their Use and Creation (KC8;H  ?D ED9;FJI 7D: .;9>D?GK;I ?D 'E:;HD !;E=H7F>O /D?L;HI?JO E< 7IJ D=B?7 DL?HEDC;DJ7B *K8B?97J?EDI (EHM?9>  35 $  EK=;D?A ( , >H?IC7D 7D:  , (?;C;O;H D 7B=EH?J>C JE 9EDIJHK9J 9EDJ?DEKI 7H;7 97HJE=H7CI Professional Geographer Q  35 " :;BI8HKDD;H 7D: 17KFEJ?JI9>  9EC8?D7JEH?7B 7FFHE79> JE 97HJE=H7CI Comput. Geom. Theory Appl. Q  35 - 78H?A7DJ 7HJE=H7F>?9 L7H?7J?EDI ED J>; FH;I?:;DJ?7B ;B;9J?ED  J>;C;  http://www.geog.ucsb.edu/sara/html/mapping/ election/map.html 35 . &  !H?D .>; ?CFEHJ7D9; E< L?IK7B 9EDJH7IJ I 7D: ?JI 7FFB?97J?EDI ?D =H7F> :H7M?D= FHE8B;CI Theor. Comp. Sci. Q  35   %;?C -  (EHJ> 7D:  *7DI; 7HJE:H7M  <7IJ 7B=EH?J>C JE 9EDIJHK9J?D= 9EDJ?DKEKI 97HJE=H7CI #D Proc. Symp. Spatial Data Handling F7=;I Q  35 % %EPC?DIA? 7D: %?DD;D ,;9J7D=KB7H :K7B E< FB7D7H =H7F>I Networks Q  35 ' L7D %H;L;B: 7D:  -F;9AC7DD )D H;9J7D=KB7H 97HJE=H7CI #D Proceedings 12th European Symposium on Algorithms DKC8;H  ?D &(- F7=;I Q  35 $ ' )BIED (ED9EDJ?=KEKI 7H;7 97HJE=H7CI Prof. Geographer Q  35 +K;;DIB7D: /D?L;HI?JO :L7D9;: ;DJH; GK7A; -JK:?;I http://www.quakes.uq.edu.au 35 ,7?IP .>; H;9J7D=KB7H IJ7J?IJ?97B 97HJE=H7C Geogr. Review Q  35 .;HHO  -BE9KC ,E8;HJ  '9'7IJ;H H?JP  %;IIB;H 7D: "K=> " "EM7H: Thematic Cartography and Geographic *H;DJ?9; "7BB D: ;:?J?ED  35  -F;9AC7DD ' L7D %H;L;B: 7D: - BEH?IIED  B?D;7H FHE=H7CC?D= 7FFHE79> JE H;9J7D =KB7H 97HJE=H7CI #D Proc. 12th International Symposium on Spatial Data Handling F7=;I Q  35 1 .E8B;H *I;K:E 97HJE=H7CI The American Cartographer Q  35 1 .E8B;H .>?HJO L; O;7HI E< 9ECFKJ;H 97HJE=H7CI Annals of the Assoc. American Car- tographers   Q 

 &RQVWUDLQHGWHWUDKHGUDOPRGHOVDQGXSGDWHDOJRULWKPVIRU WRSRJUDSKLFGDWD

Ir. F. Penninga OTB Research Institute, section GIS Technology Delft University of Technology [email protected]

,QWURGXFWLRQ

Most current topographic products are limited to representing the real world in only two dimen- sions. As the real world exists of three dimensional objects, which are becoming more and more complex due to increasing multiple land use, accurate topographic models have to cope with the third . The overall goal of this research is to extend current topographic modeling into the third dimension. Applications of 3D modeling are not limited to the terrain surface and ob- jects built directly on top or beneath it, as geological features and air traffic or telecommunica- tion corridors can be modeled too.

Most initiatives on developing 3D GIS focus on supporting visualization, often in Virtual Real- ity-like environments. One of the objectives of this 3D modeling research is to enable 3D analy- sis as well, as this traditional GIS-strength lacks until now in most 3D GIS approaches. Another important assumption within this research follows from the required wide variety of applica- tions of topographic data. As topography is ranked high in the spatial data infrastructure hierar- chy, one cannot optimize the data model for one specific purpose. One has to be able to serve the complete range of user applications, regardless whether these applications require for in- stance optimal visualization capabilities or optimal analytical capabilities.

'7RSRJUDSK\

The development of a 3D topographic data model is both demand and supply driven. 3D model- ing is not only required for accurate modeling of increasingly complex real world objects, as is the case in multiple land use areas as illustrated in Figure 1.

Figure 1. Multiple land use: offices at Utrechtse baan Den Haag (left) and plans for Amsterdam WTC (right).

 Other important aspects in the increasing need for 3D modeling are the rising awareness of the importance of sustainable urban environments (requiring 3D planning and 3D analysis) and the need for better data for emergency services and disaster response. Disaster management (both natural and non-natural disasters) gained a lot of attention since 9/11, the Christmas 2004 tsu- nami in Asia and the flooding after hurricane Kathrina in New Orleans.

On the demand side the availability of the AHN (Actueel Hoogtebestand Nederland), a high density height point data set obtained with airborne laser altimetry, is an important factor in the development of 3D models. Figure 2 shows a part of the AHN in Zuid-Limburg. As the AHN contains on average one height point for every 16m2 the spatial resolution is high enough to en- able extraction of for instance building heights. Building extraction can even be automated when laser scan data of higher resolution is available. Due to current developments in laser scanning technology laser scanners can measure up to 50 times more points per second com- pared to the mid-nineties, when the AHN resolution was chosen (Vosselman, 2005). Also ter- restrial laser scanning offers the possibility to model objects in 3D with more detail, even indoor topography can be introduced.

Figure 2. AHN offers high resolution height data.

'PRGHOLQJ

Selection of 3D primitive

In 3D modeling one needs a 3D primitive (a volume) beside points, lines and faces to represent 3D objects accurately. Earlier research proposed amongst others using simplexes (point, line, triangle, tetrahedron) (Carlson 1987), points, lines, surfaces and bodies (3D Formal Data Struc- ture (FDS)) (Molenaar 1990, Molenaar 1992), combining Constructive Solid Geometry (CSG) and a B-rep. (de Cambray 1993) and integrating a 2.5D Triangulated Irregular Network (TIN) with 3D FDS (Pilouk 1996). In applications are often used as 3D primitive (Zla- tanova 2000, Stoter 2004).

In this research simplexes are the primitives of choice. A great advantage of using these sim- plexes is the well-defined character of the mutual relationships: a kD simplex is bounded by k+1 (k-1)D-simplexes (Pilouk 1996). This means that for instance a 2D simplex (a triangle) is bounded by three 1D simplexes (edges) and a 3D simplex (tetrahedron) is bounded by four 2D simplexes (triangles). The second important advantage of simplexes is the flatness of the faces, which enables one to describe a face using only three points. The third advantage is that every simplex, regardless its dimension, is convex, thus making convexity testing unnecessary. This quality simplifies point-in- test significantly. The price for this comes with increased modeling complexity. Compared to for instance using polyhedrons as 3D primitive it will be clear that there exists a 1:1 relationship between a 3D feature (for instance a building) and its

 representation (the ), but that there will be a 1:n relationship between this 3D feature and its tetrahedrons. However, as long as one is able to hide this complexity from the average user, the advantages will overcome this drawback. To further illustrate the strength of using well-defined primitives, consider a real estate tax application that determines the tax assessment based on the volume of the building. In order to automate this process, a formula for determin- ing volumes is required. Designing a formula caSDEOHRIGHWHUPLQLQJDSRO\KHGURQ¶VYROXPHLV more complex due to the unlimited variation in shape. Contrarily, implementing a formula for the volume of a tetrahedron is straightforward, it only has to be applied several times as a build- ing will be represented as a set of tetrahedrons. This repetition is however exactly what com- puters are good for. As a result the TEN (Tetrahedronized Irregular Network) is selected as data structure.

Modeling concept

The development of the current modeling concept is described in (Penninga, 2005). The model- ing concept is based on two basic observations:

Ō The ISO 19101 Geographic information - ReferenFHPRGHOGHILQHVDIHDWXUHDVDQ¶DEVWUDF WLRQRIUHDOZRUOGSKHQRPHQD¶7KHVHUHDOZRUOd phenomena have by definition a volumetric shape. In modeling often a less-dimensional representation is used in order to simplify the real world. Fundamentally there are no such things as point, line or area features; there are only features with a point, line or area representation (at a certain level of abstrac- tion/generalization). Ō The real world can be considered to be a volume partition. A volume partition can be defined (analogously to a planar partition) as a set of non-overlapping volumes that form a closed PRGHOHGVSDFH$VDFRQVHTXHQFHREMHFWVOLNH¶DLU¶RU¶HDUWK¶DUHH[SOLFLWO\SDUWRIWKHUHDO world and thus have to be modeled.

As a result the real world features will be modeled as volumes (set of tetrahedrons) in a TEN structure. The option to represent certain feature types in less dimensional representations be- longs in the digital cartographic model and not already in the digital landscape model. Based on this one might wonder whether less-dimensional representations are even allowed in the new modeling approach, for instance using a face instead of a volume. The answer is positive, but only in special cases. Looking at the real world one can see that the features that are represented by faces are actually marking a border between two volume objects. For instance an area labeled DV¶ZDOO¶PLJKWVWLOOEHUHSUHVHQWHGDVDIDFHGHVSite its actual thickness in reality. However it's important to realize that this face marks the WUDQVLWLRQEHWZHHQWZRYROXPHV¶EXLOGLQJ¶DWRQH VLGHDQG¶DLU¶DWWKHRWKHUVLGHRIWKHIDFH,QWKHQHZPRGHOLQJDSSURDFKWKHVHYROXPHVSOD\D central role. The faces marking the borders between volumes might still be labeled, for instance DV¶ZDOO¶RU¶URRI¶EXWVHPDQWLFDOO\WKH\GRQRWERXQGWKHEXLOGLQJDQ\PRUHDVWKHEXLOGLQJLQ itself is represented by a volume, with neighboring volumes that represent air, earth or perhaps another adjacent building. One can say that area features, such as walls, are derivatives of vol- ume features, as they cannot exist without the presence of these volume features. At this time it is not decided yet whether only first order derivatives (area features) are useful or that second (line features) and third order derivates (point features) should be supported too.

The UML class diagram of the proposed method is shown in Figure 3. The concept of derived features is modeled by treating these classes as association classes. For instance an area feature is an association class between two (adjacent) volume features. Also visible in the UML class diagram is that features are stored as constraints in the TEN structure. On algorithm level these constraints are all on the edge level, as current triangulation / tetrahedronization algorithms are

 only capable of handling constraint edges. A third aspect that is shown in the diagram is that every tetrahedron should represent a volume feature, whereas for instance not every triangle represents an area feature. This full volume partition idea results in modeling 'air' and 'earth' in between of topographic features as well.

Figure 3. UML class diagram of the 3D Topography TEN model.

 At this point it might seem that also modeling ¶DLU¶DQG¶HDUWK¶LQDGGLWLRQWRDOOFRPPRQWRSRJ UDSKLFIHDWXUHVLVDYHU\ULJLGDSSURDFKRIPRGHOLQJPRUHVHUYLQJWKHDEVWUDFWJRDORI¶FOHDQ¶ PRGHOLQJWKDQDQDFWXDOXVHIXOJRDO7KLVLVKRZHYHUQRWWKHFDVH7KHVHDLUDQGHDUWKREMHFWVGR QRWMXVWILOOXSWKHVSDFHEHWZHHQIHDWXUHVRIWKHRWKHUW\SHVEXWDUHRIWHQDOVRVXEMHFWRIDQDO\ VHV VXFK DV QRLVH DQG RGRU PRGHOLQJ DQG IORRGLQJ DQDO\VLV $QRWKHU JUHDW DGYDQWDJH LV WKH IOH[LELOLW\LQWURGXFHGE\WKHVHIHDWXUHVDVWKH\HQDEOHIXWXUHH[WHQVLRQVRIWKHGDWDPRGHO)LJ XUHVKRZVVRPHH[DPSOHVRIIHDWXUHVWKDWFDQEHLQFOXGHGLQWKHPRGHOLQWKHIXWXUHVXFKDV DLUWUDIILFFRUULGRUVDQGSHWUROHXPUHVHUYRLUV

Figure 4. Air traffic corridors near Schiphol Amsterdam Airport (left) and a 3D petroleum res- ervoir (Ford and James, 2005) (right).

$QRWKHUSRVVLEOHIXWXUHH[WHQVLRQLVWKHDGGLWLRQRILQGRRUWRSRJUDSK\WRWKHPRGHO,QIRUPD WLRQRQWKHEDVLFLQWHULRUOD\RXWRIDEXLOGLQJFDQEHYHU\XVHIXOIRUHPHUJHQF\VHUYLFHVHVSH FLDOO\WKHILUHEULJDGH,QGRRUJHRLQIRUPDWLRQZLOOEHFRPHPRUHDQGPRUHDYDLODEOHGXHWRWKH LQWURGXFWLRQRIWHUUHVWULDOODVHUVFDQQLQJ7KLVWHFKQLTXHDOVRHQDEOHVPHDVXUHPHQWVLQFRPSOH[ 'VLWXDWLRQVVXFKDVKLJKZD\LQWHUFKDQJHVVHH)LJXUH

Figure 5. Scan of highway interchange obtained by terrestrial laser scanning.

3D Topography modeling: implementation

,QWKHSUHVHQWHG'7RSRJUDSK\7(1PRGHOWKHWRSRJUDSKLFIHDWXUHVDUHVWRUHGDVFRQVWUDLQWV LQWKHWHWUDKHGURQL]DWLRQ7KHFUHDWLRQRIWKHPRGHOVWDUWVZLWKIRXULQLWLDOWHWUDKHGURQVDVFDQ EHVHHQLQ)LJXUHWZRDLUDQGWZRHDUWKWHWUDKHGURQVZLWKDQLQLWLDOHDUWKVXUIDFH$VDILUVW VWHSKHLJKWGDWDIURPGLJLWDOHOHYDWLRQPRGHOVZLOOEHXVHGWRUHILQHWKHHDUWKVXUIDFH,IQHFHV VDU\LOOVKDSHGWHWUDKHGURQVZLOOEHUHVKDSHGDQG6WHLQHUSRLQWVPLJKWEHDGGHG7KHODVWVWHSLV

 to insert separately tetrahedronized topographic features into the model. Therefore an incre- mental algorithm for updating the TEN model is required.

Figure 6. The four initial tetrahedrons (two 'air' and two 'earth').

'7RSRJUDSK\DQG&RPSXWDWLRQDO*HRPHWU\

Amount of data

If one considers the tetrahedronization of the building in Figure 7, it will be clear that storing the building in a TEN requires a lot of storage. In Table 1 the required number of tetrahedrons, triangles, edges and nodes is compared to the number of volumes, faces, edges and points in a polyhedron approach.

Figure 7. Tetrahedronized building.

Building as polyhedron Building as TEN (1 volume) 8 tetrahedrons 7 faces 24 triangles (15 edges) 25 edges (10 points) 10 nodes

Table 1. Comparison between polyhedron and TEN model of the building.

In order to reach acceptable performance it has to be decided which relationships (as modeled in the class diagram in Figure 3) will be stored explicitly, as performance requirements do not tol- erate full storage of all possible relationships. Several approaches exist in 2D to reduce storage

 requirements of TINs by either working with an edge- or a triangle based approach, in which not both triangles, edges and nodes are stored explicitly. However, in the 3D situation and in the case of constraints in the TEN this is very difficult.

Updating the topography model: requirements from a computational geometry perspective

In the developed data model all data is stored in a spatial . The most straight forward implementation consists of four tables with nodes, edges, triangles and tetrahedrons and a table with volume features. The set of representing simplexes is stored in this last table for every fea- ture, so for the building from Figure 7 references are present to the eight tetrahedrons. To ensure the correct representation of the building in the TEN model one needs to enforce the boundary faces of this building to be present. As triangulation algorithms can only handle constrained edges, so a set of constrained edges is required. This set of constrained edges forms a complete surface triangulation of the building.

If one wants to remove this building, for instance because it is demolished, the record from the volume feature table can be deleted. At the same time the TEN needs to be updated. The con- straints on the edges of the surface triangulation can be removed, but only if this building is the only feature that is bounded by this constrained edge. In the case of the demolished building constrained edges on the building's floor also bound the earth surface and therefore need to re- main present in the TEN model. The tetrahedrons that were previously representing the building now need to be re-classified, in this case most likely just as 'air'. This reclassification is neces- sary to maintain the volume partition. At this moment the building is entirely removed from the model, both on TEN and on feature level, but the deletion process is not finished. As a last step it is necessary to check whether the TEN can be simplified by creating larger tetrahedrons or can be optimized by creating better-shaped tetrahedrons. As an alternative one might delete di- rectly all edges that were part of the building, except for (constrained) edges that also contribute to the shape of other features. The resulting hole in the TEN needs to be re-triangulated and the created tetrahedrons will be linked to the 'air' feature.

If one wants to add a feature (for instance the same building) to the model its surface first needs to be triangulated. The resulting edges are the input for the tetrahedronization. This tetrahe- dronization is performed separately from the TEN network. The complete set of edges is then inserted into the TEN model by an incremental tetrahedronization algorithm. As a last step the volume feature table needs to be updated. A new record is created which links the building to the representing tetrahedrons and the previous 'air' tetrahedrons on the specific location are re- moved.

Now that the update process is described the algorithm requirements can be extracted. For creat- ing and maintaining the TEN an incremental algorithm is required. Due to the potential enor- mous amount of data this incremental algorithm has to work in the database and should prefera- bly impact the TEN structure as locally as possible. In the TEN all simplexes should be explic- itly available, as the tetrahedrons represent volume features, the triangles contain most topologi- cal relationships, the edges contain the constraints and the nodes contain the geometry. Attempts to work for instance with implicit edges as is done with TINs would seriously complicate some of the required analysis or editing operations. Being able to store a TEN as compact as possible is might be nice, but in this 3D topography research interest is not only in maintaining a TEN but also in altering and querying the structure, which requires more functionality. Another re- quirement is the need for numerical stability through detection and repair of ill-shaped triangles

 and tetrahedrons. Shewchuk has performed a lot of research (Shewchuk 1997, Shewchuk 2004) in the field of Delaunay mesh refinement in both two and three .

&RQFOXVLRQV

The volume approach in 3D topographic data modeling offers several advantages, amongst other good analytical and computational capabilities. However the TEN approach will lead to very large data sets. In order to overcome this drawback fast and reliable algorithms are re- quired. The constrained tetrahedronized irregular network needs to be updated by an incre- mental algorithm that will also guarantee well-shaped triangles and tetrahedrons to avoid nu- merical instability. Despite the conceptual advantages of the 3D TEN approach the success of this approach completely depends on the degree in which the algorithms are capable of query- ing, analyzing and altering with acceptable performance.

5HIHUHQFHV

Carlson, E., 1987. Three-dimensional conceptual modeling of subsurface structures. In: Auto- Carto 8, pp. 336-345. de Cambray, B., 1993. Three-dimensional 3D) modeling in a geographical database. In: Auto- Carto 11, pp. 338-347. Ford, A. and P. James, 2005. Integration of 3D petroleum datasets in commercial GIS. In: Agile 2005, 8th Conference on Geographic Information Science, pp. 411-418. Molenaar, M., 1990. A formal data structure for three dimensional vector maps. In: 4th Interna- tional Symposium on Spatial Data Handling, Zurich, pp. 830-843. Molenaar, M., 1992. A topology for 3D vector maps. In: ITC Journal 2, pp. 25-33. Penninga, F., 2005. 3D Topographic data modeling: Why rigidity is preferable to pragmatism. In: Spatial , Cosit 2005, pp. 409-425. Pilouk, M., 1996. Integrated Modeling for 3D GIS, PhD thesis, ITC Enschede. Shewchuk, J.R., 1997. Delaunay refinement , PhD thesis, Carnegie Mellon University. Shewchuk, J., 2004. General-Dimensional Constrained Delaunay and Constrained Regular Tri- angulations I: Combinatorial Properties. To appear in: Discrete & computational Geometry. Available at: http://www-2.cs.cmu.edu/jrs. Stoter, J., 2004. 3D Cadastre, PhD thesis, Delft University of Technology. Vosselman, G., 2005. Sensing Geo-information, Inaugural address, ITC Enschede. Zlatanova, S., 2000. 3D GIS for urban development, PhD thesis, Graz University of Technol- ogy.

 7RZDUGVLPSURYHGVROXWLRQVFKHPHVIRU0RQWH&DUOR VLPXODWLRQLQHQYLURQPHQWDOPRGHOLQJODQJXDJHV

Derek Karssenberg and Kor de Jong

Department of Physical Geography, Faculty of Geosciences, Utrecht University, PO Box 80115, 3508 TC Utrecht, the Netherlands. Tel. +31 30 2532768, Fax +31 30 2531145, Email: [email protected], http://pcraster.geo.uu.nl.

,QWURGXFWLRQ

Numerical environmental models simulating landscape changes through time with equations representing physical, chemical, or biological landscape processes (Karssenberg & De Jong, 2005; Wainwright & Mulligan, 2004) are important tools for environmental research, planning, and management. Although numerical environmental models have much in common with the group of software tools known as Geographical Information Systems (GIS, Burrough & 0F'RQQHOO ±ERWKHQYLURQPHQWDOPRGHOVDQG*,6GHDOZLWKVSDWLDOGDWD±WKHUHDUHDW least two large differences. The first difference is in the number of dimensions represented. Most GIS systems restrict their data models to two spatial dimensions, whereas numerical environmental models need to deal with at least five data dimensions: three spatial dimensions, the time dimension, and a dimension to represent uncertainty in a Monte Carlo framework. The second difference between GIS and environmental models is the type of functions on the data required. While GIS is strong in functions for static analysis, management and presentation of vector and raster data, numerical environmental models need to incorporate functions representing spatio-temporal processes occurring in a landscape such as numerical solution schemes of differential equations. These functions need to deal with additional dimensions such as the time dimension.

As a result of these two differences, run times of numerical environmental models are often much larger than these of GIS applications, since numerical environmental models include relatively complicated functions on data volumes which are often even larger than in most GIS applications. So, minimizing run times is a very relevant issue when coding environmental models. This requires specialist knowledge in the disciplines of , computational geometry, and numerical . Since model builders, which are environmental scientists with knowledge of landscape processes, often do not have this knowledge, model construction is preferably done with high level environmental modeling languages (Karssenberg, 2002). These are languages providing building blocks for model construction with built-in optimization schemes developed by specialists in the abovementioned disciplines. The environmental scientists construct their models by combining these building blocks instead of programming everything from scratch. An example of such a language is the PCRaster language (PCRaster, 2006) and the recently developed PCRaster Python (Karssenberg & De Jong, subm.). Concepts and examples presented in this paper are taken from these languages although many other environmental modeling languages exist with similar concepts (c.f., Karssenberg, 2002).

This paper starts with a description of the multiple dimensions involved in numerical environ- mental modeling and functions required operating on data in these dimensions. The second part of the paper discusses future challenges for designing better stochastic environmental modeling languages that minimize runtimes involved in calculating parameters describing the sampling distributions of output variables generated by Monte Carlo simulation.

 6WRFKDVWLFG\QDPLFVSDWLDOPRGHOLQJ

1.2.1. Process representation, discretisation of temporal and spatial dimensions

To mimic changes in a landscape through time, numerical environmental models use the rules of cause and effect, with a discretisation of time in time steps. The state of the model variables, which are attributes in one, two, or three dimensional space, at time t+1 is defined by their state at t and a function f. Similar descriptions can be found in (Beck, Jakeman, & McAleer, 1993; Karssenberg & De Jong, 2005; Wainwright & Mulligan, 2004):

Z1..m(t+1) = f(Z1..m(t), I1..n(t), t, P1..l) (1)

The model variable(s) Z1..m belong to coupled processes, and therefore have feedback in time, for instance stream water level. The model variable(s) I1..n are simple inputs to the model, for instance incident rainfall in a runoff model. The function f with associated parameters P1..l models the change in the state of all model variables over the time step t to t+1 and it can be either an update rule, explicitly specifying the change of the state variable over the time slice (t, t+1), for instance a rule based function such as cellular automata (e.g., Toffoli, 1989), or alternatively a derivative of a differential equation describing the change of the state variables as a continuous function (c.f. Wainwright & Mulligan, 2004). It may also include probabilistic rules when model behaviour is better described as a stochastic process. The function f is evaluated for each time step, which can be written in pseudo code as:

IRUHDFKWLPHVWHS (2)  HYDOXDWHI

To represent spatial variation, the model variables are attributes in two or three dimensional space, referred to as map variables or block variables, respectively (Figure 1). For representing continuous fields, most packages for environmental modeling discretise the lateral dimensions in regular grid cells. PCRaster discretises the third dimension with an irregular discretisation (ragged array) using voxels with variable thickness (Figure 1, Karssenberg & De Jong, 2005).

Figure 1. Representation of spatial dimensions, time, and Monte Carlo samples in environ- mental modeling. Left, map and block; centre, list of map or block variables; right, matrix with values for each time step and each Monte Carlo sample, stored for each map or block variable, for each cell or voxel.

 To represent the change in state of a model over each time step, environmental modeling languages come with a library of preprogrammed functions on map and block variables. These functions may represent spatial interaction such as required in cellular automata models, lateral flow over a digital terrain model or simple processes without spatial interaction (c.f. Karssenberg & De Jong, 2005). The preprogrammed functions are the building blocks of the model: the model builder represents f in equation (1) by combining the functions in an iterative script. To illustrate this, consider the construction of a rainfall-runoff model that simulates surface runoff of water as a result of incident rainfall. The spatial variation in rainfall, runoff, infiltration, and other state variables is represented by using map variables. The processes involved generating surface runoff are programmed by combining functions on maps, in order to represent f in equation 1. By running these functions for each time step, a simulation can be made of the temporal change in rainfall, runoff, and related processes.

1.2.2. Stochastic modeling with Monte Carlo simulation

In many cases, environmental models include probabilistic rules or have inputs or parameters that are given as spatial distributions as is the case in error propagation modeling (c.f. Crosetto & Tarantola, 2001; Heuvelink, 1998). The aim of stochastic modelling is to derive the probability distributions (or parameters describing these) of the stochastic model variables Z1..n(t) from the stochastic inputs, parameters, or probabilistic rules, and to store the probability distributions of these model variables which are of interest, i.e. the model output variables. For complex environmental models, this can only be approximated with Monte Carlo simulation modelling (Heuvelink, 1998). Monte Carlo simulation involves two steps: Step (1). For each Monte Carlo sample: run f(·) (eq. 1) for all time steps with realizations of stochastic parameters or inputs, and store the realizations of the model output variables Z1..n in which the interest lies. Step (2). Compute descriptive (e.g., mean, variance, quantiles) from the model out- comes of each sample, for each model output variable and each time step t, or for a selection of model variables and time steps. In pseudo code, Monte Carlo simulation for environmental models can be written as (see also Figure 2):

 IRUHDFKVDPSOH IRUHDFKWLPHVWHS (3)  HYDOXDWHI  FRPSXWHGHVFULSWLYHVWDWLVWLFVRIRXWSXWYDULDEOHV

This nested iteration will provide each variable and each cell or voxel with a value for each time step and Monte Carlo sample, which means that the array on the right side of Figure 1 is filled. In Monte Carlo simulation, the calculation of descriptive statistics typically involves an aggregation over the samples of the Monte Carlo dimension: for each cell or voxel, a statistical value such as the mean or a quantile is calculated from the values of the Monte Carlo samples for that cell or voxel (Figure 3C). The example presented in the previous section will make this clear. Consider the rainfall-runoff model predicting the change in surface runoff through time, for each grid cell. It is run in Monte Carlo mode now to represent uncertainty in incident rainfall. Each Monte Carlo sample represents a realization of the model with a possible spatial distribution of runoff. To calculate the uncertainty in the surface runoff for each time step and each cell, the model variable surface runoff is aggregated over the Monte Carlo dimension, by calculating for instance the variance of the surface runoff values over the Monte Carlo dimension. This is done for each cell and each time step.

 Figure 2. Concepts for temporal, two or three dimensional, and stochastic modeling.

In addition to the calculation of descriptive statistics over the Monte Carlo dimension, descript- ive statistics can be calculated over time and/or over space. Consider for instance the calculation of peak runoff in the example rainfall-runoff model. This involves an aggregation over time (Figure 2B) where the maximum runoff is calculated over the time steps, for each cell and each Monte Carlo loop. Calculating average runoff values for different land use types is an example of aggregation over space (Figure 2A), where average values need to be calculated over a certain set of cells, for each time step and each Monte Carlo loop. Finally, aggregation needs to be done in certain cases over more than one dimension. Consider for instance the calculation of the median peak runoff, which involves an aggregation over time, calculating the peak runoff for each Monte Carlo sample, and an aggregation over the Monte Carlo dimension, calculating the median of the peak runoff values over the Monte Carlo loops.

The development of environmental modeling languages with built-in functionality for Monte Carlo simulation is still in its infancy. Recently, the PCRaster team developed the PCRaster Python library (Karssenberg & De Jong, subm.) which can be considered as one of the first languages that can do Monte Carlo simulation with dynamic spatial environmental models.

 Figure 3. Functions calculating descriptive statistics, aggregating over A) space, B) time, C) the stochastic dimension, i.e., Monte Carlo samples.

0LQLPL]LQJUXQWLPHVLQYROYHGZLWK0RQWH&DUORVLPXODWLRQ

1.3.1. Examples of solution schemes reducing I/O

As noted in the introduction, the run times of environmental models can be large due to the relatively large number of calculations involved in evaluating f (equation 1), the large data sets used, and the large number of evaluations of f required, which is equal to the number of time steps times the number of Monte Carlo loops. Although decreasing run times of f is still a major challenge when designing new environmental modeling languages, we will focus our discussion here on the run times associated with the calculation of descriptive statistics. Unlike run times of f being mainly dependent on the speed of the processor, run times associated with calculating descriptive statistics are largely dependent on memory, since limited memory or inefficient use of memory may require I/O which will increase the run times significantly. An example will make this clear. A prototype implementation of the environmental known as the PCRaster Python Library (Karssenberg & De Jong, subm.) uses the following order of calculation for calculating descriptive statistics over the Monte Carlo dimension of a map variable.

 IRUHDFKVDPSOH  IRUHDFKWLPHVWHS   HYDOXDWHI   ZULWHPDSYDULDEOHWRGLVN IRUHDFKFHOO (4)  IRUHDFKWLPHVWHS  IRUHDFKVDPSOH   UHDGFHOOYDOXHIURPGLVNDQGVWRUHLQPHPRU\   FRPSXWHGHVFULSWLYHVWDWLVWLFVRIYDULDEOH  UHOHDVHFHOOYDOXHVIURPPHPRU\

This approach writes the map variable for which statistics need to be calculated to hard disk (line 3 in the scheme above), storing the map variable as a separate file for each time step and each Monte Carlo sample. In line 5-10, these files are opened to calculate descriptive statistics of the variables: the scheme aggregates for each time step over the samples, one cell at a time. Since the calculation is done cell-by-cell, a file needs to be opened, read from, and closed for each cell, Monte Carlo sample and time step. This means that a file is opened a number of 107 up to 1015 times, which is calculated as t·s·c, with t, number of time steps (typically 101-104), s, number of samples (102-103), c, number of cells or voxels per variable (104-108). The advantage of this approach is that the number of cells, time steps and Monte Carlo samples is not limited by the memory available, since the amount of memory required equals s·m, which is in the order of magnitude of 102 E\WH ±  N% XVLQJ WKH W\SLFDO YDOXHV JLYHQ DERYH DQG D PHPRU\ SHU cell/voxel value (m) of 4 byte. The main disadvantage of this approach is the long run times since much time is spent on I/O.

A significant decrease of run times is reached when all data required for calculating statistics are kept in memory. Since an extensive evaluation of all possible approaches is beyond the aim of this paper, I provide two obvious approaches here as an invitation to the discussion below. The first one nests the time step loop inside the loop over the Monte Carlo samples:

 IRUHDFKVDPSOH  IRUHDFKWLPHVWHS  HYDOXDWHI (5)  NHHSPDSYDULDEOHLQPHPRU\  IRUHDFKWLPHVWHS  FRPSXWHGHVFULSWLYHVWDWLVWLFVRIYDULDEOH  UHOHDVHFHOOYDOXHVIURPPHPRU\IRUFXUUHQWWLPHVWHS

This approach aggregating for each time step over the samples, one map at a time, requires a memory of t·s·c·mZKLFKLV0%XSWR7% WHUDE\WH12%\WH XVLQJWKHW\SLFDOYDOXHV given above. In practice, most desk top will not have sufficient memory for this approach, although it will work when the data in one or more dimensions is small. An alterna- tive approach would be to do the loop over the Monte Carlo samples nested inside the loop over the time steps:

 IRUHDFKWLPHVWHS  IRUHDFKVDPSOH  HYDOXDWHI (6)  NHHSPDSYDULDEOHLQPHPRU\   FRPSXWHGHVFULSWLYHVWDWLVWLFVRIPDSYDULDEOH  UHOHDVHYDOXHVIURPPHPRU\IRUFXUUHQWWLPHVWHS

This approach requires much less memory, equal to s·c·mZKLFKLVW\SLFDOO\0%±0%

1.3.2. Factors involved in choosing optimal solution schemes

The examples in the previous section show that the straightforward solution scheme (4) currently applied in the PCRaster Python Library is not in all cases the best scheme considering calculation time. In many cases, other schemes can be applied that do not involve I/O speeding up the calculation. It is a major challenge for future research to develop better environmental

 modeling languages that select the best approach for calculating descriptive statistics given the model script developed by the model builder, the size of the input data, and the properties of the computer used. As a first step towards such D µFOHYHU¶ HQYLURQPHQWDO PRGHOLQJ ODQJXDJH , discuss below the main factors which are important in selecting the best approach for calculating descriptive statistics, whereby IRFXVLVRQVFKHPHVWKDWPLQLPL]H,2

Type of descriptive statistics required. ,Q WKH VROXWLRQ VFKHPHV -6) it was assumed that the calculation of a value describing the distribution of a variable requires that all data reside in memory. Although this is required for calculating the exact value of quantiles, this is not needed for the calculation of statistics such as mean or variance since these can be calculated on-line LQFUHPHQWDOO\ 2QOLQHFDOFXODWLRQPHDQVWKDWthe statistical value is repetitively updated using single data values which are sequentially read and released from memory. When descriptive statistics need to be calculated that allow foU RQOLQH FDOFXODWLRQ VROXWLRQ VFKHPH   FDQ EH adjusted:

 IRUHDFKWLPHVWHS  IRUHDFKVDPSOH  HYDOXDWHI    NHHSPDSYDULDEOHLQPHPRU\   XSGDWHGHVFULSWLYHVWDWLVWLFVRIPDSYDULDEOH  UHOHDVHYDOXHVIURPPHPRU\IRUFXUUHQWWLPHVWHSDQGVDPSOH

The size of the memory required in this scheme is c·m, typically 10 KB - 100 MB, which is orders of magnitude smaller than the memory UHTXLUHGIRUVROXWLRQVFKHPH  7KLVH[DPSOH shows that the type of descriptive statistics that needs to be calculated is an important factor in FKRRVLQJWKHVROXWLRQVFKHPH,QJHQHUDORQOLQHmethods for calculation of statistics will be preferable. When exact calculation of a certain statistic is not possible with an on-line method, it should be considered to include on-line methods that return approximations RIWKHVWDWLVWLF HJ Pearl, 1981) in environmental modeling languages.

Size of the data in each of the dimensions. The memory required for each of the solution schemes depends on the number of time steps and Monte Carlo samples, the number of cells or YR[HOV DQGRU WKH QXPEHU RI YDULDEOHV IRU ZKLFK descriptive statistics need to be calculated. &HUWDLQ VFKHPHV DUH SRVVLEOH DQG YHU\ IDVW  Zith a small number of data, while the same schemes may become impossible with large data sets due to memory overflow. Note that in many cases descriptive statistics are not required for all coordinates in all dimensions. For instance, calculating surface runoff at the outflow point of a catchment requires the calculation of descriptive statistics at a single cell, the ceOOFRUUHVSRQGLQJWRWKHRXWIORZSRLQWRQO\2WKHU cells can be ignored in the solution scheme which will decrease the amount of memory required.

Dimensions over which aggregation is required.,QHUURUSURSDJDWLRQPRGHOLQJFDOFXODWLRQRI descriptive statistics is in most cases required over the Monte Carlo dimension on a cell-by-cell basis, resulting in descriptive statistics for eachWLPHVWHSDQGHDFKFHOO RUYR[HO DVGLVFXVVHG so far. Sometimes, it may be required to calculate statistics over the spatial or temporal dimen- sion, too. Aggregation over the spatial dimension require relatively little memory in the order of magnitude of c·m since it can be done directly after evaluating the function f:

 IRUHDFKVDPSOH IRUHDFKWLPHVWHS   HYDOXDWHINHHSPDSYDULDEOHLQPHPRU\     FDOFXODWHVSDWLDOVWDWVRIYDULDEOHDQGUHOHDVHIURPPHPRU\

 Calculation of descriptive statistics over the time dimension can be done following (8) when calculation can be done on-line, for instance calculating the maximum value of runoff over the time steps, for each cell. When descriptive statistics over the time dimension need to be calculated that require to have all data in memory (e.g., quantiles), the map variable needs to be kept in memory over all time steps, requiring t·c·m of memory:

 IRUHDFKVDPSOH IRUHDFKWLPHVWHS (9)  HYDOXDWHINHHSPDSYDULDEOHLQPHPRU\     FDOFXODWHVSDWLDOVWDWVRIYDULDEOHDQGUHOHDVHIURPPHPRU\

Occurrence of multiple variables for which aggregation is required. In many cases, aggregation needs to be done for a number of different variables. Apart from increasing the total memory needed, this may complicate the solution schemes since conflicting solution schemes may be required for different variables. For instance, aggregation of a variable over the time dimension may require solution scheme (8), while aggregation over the Monte Carlo samples may require scheme (7). In this case, a solution scheme needs to be chosen by comparing efficiency of different possible schemes.

Occurrence of corresponding values. In some cases, a map or block variable may contain cells with exactly similar starting values and process equations, resulting in similar cell values over one, or multiple, dimensions. For instance, the amount of infiltration may be similar in all cells in a certain soil class, and as a result all cells in that class will have similar cell values. In this case, the calculation of descriptive statistics can be restricted to a single calculation for each soil class, instead of calculating statistics for each individual cell in the class. This principle can be used to decrease the amount of memory required in calculating descriptive statistics.

Memory requirements. In cases when the solution scheme requiring the smallest amount of memory results in a required memory that is larger than the available memory, a scheme needs to be applied that does I/O. Solution schemes need to be developed that result in shortest run times in this situation.

Memory required for the process model. In addition to the memory required for calculating descriptive statistics, the evaluation of the function f for each time step may need a large amount of memory, both for the evaluation of f itself and for storing variables at the end of each time step that are required as input to f for the next time step. So, by comparing different solution schemes, the amount of memory involved in the evaluation of f for each possible scheme needs to be considered, too. For instance, solution scheme (6) may be very efficient in terms of memory use related to calculating descriptive statistics, but it may not be as efficient as solution scheme (5) when memory is considered required for evaluating f. The point is that in scheme (5) all variables that need to be stored at the end of a time step as input to the next time step require to reside in memory for all Monte Carlo samples. This requires a memory in the order of magnitude of s·c·m·v, with v, the number of variables that need to be stored.

)LQDOUHPDUNVDQGFRQFOXVLRQV

We showed that existing environmental modeling languages provide all functionality required for constructing models that simulate changes through time in two and three spatial dimensions. In addition, the PCRaster Python Library includes a framework for Monte Carlo simulation with these models, whereby functions can be used to calculate descriptive statistics of stochastic variables. Although this framework makes it much easier to do Monte Carlo simulation for environmental scientists compared to the situation whereby everything needs to be programmed

 from scratch, the framework does not solve the problem of long runtimes associated with Monte Carlo simulation. It is a major challenge for the GIS research community to develop better environmental modeling languages that optimize, in terms of run times, the solution of stochastic models developed with these languages. The list of factors that need to be taken into account when choosing optimal solution schemes provided here should be considered as a first step towards such faster environmental modeling languages.

5HIHUHQFHV

Beck, M. B., Jakeman, A. J., & McAleer, M. J. (1993). Construction and evaluation of models of environmental systems. In M. B. Beck, A. J. Jakeman & M. J. McAleer (Eds.), Modelling change in environmental systems. New York: John Wiley & Sons Ltd. Burrough, P. A., & McDonnell, R. A. (1998). Principles of Geographical Information Systems. Oxford: Oxford University Press. Crosetto, M., & Tarantola, S. (2001). Uncertainty and sensitivity analysis: tools for GIS-based model implementation. International Journal of Geographical Information Science, 15(5), 415- 437. Heuvelink, G. B. M. (1998). Error Propagation in Environmental Modelling with GIS. London: Taylor & Francis. Karssenberg, D. (2002). The value of environmental modelling languages for building distributed hydrological models. Hydrological Processes, 16(14), 2751-2766. Karssenberg, D., & De Jong, K. (2005). Dynamic environmental modelling in GIS: 1. Modelling in three spatial dimensions. International Journal of Geographical Information Science, 19(5), 559-579. Karssenberg, D., & De Jong, K. (subm.). Modelling landscape dynamics with Python. International Journal of Geographical Information Science. PCRaster. (2006). PCRaster internet site. Retrieved jan 01, 2006, from http://pcraster.geo.uu.nl Pearl, J. (1981). A space-efficient on-line method of computing quantile estimates. Journal of Algorithms, 2, 164-177. Toffoli, F. (1989). Cellular automata machines. Cambridge, Massachusetts: MIT Press. Wainwright, J., & Mulligan, M. (2004). Environmental Modelling. Chichester: Wiley.