[NUUG kart] Sydpolen

Steinar Hamre steinarh at pvv.ntnu.no
Tue Aug 3 20:59:20 CEST 2010


On Thu, Jul 29, 2010 at 10:18:17PM +0200, Hans Olav Skogstad wrote:
> Kan dette være en Render-bug?
>
> Jeg ser "South Pole" i Mapnik
> Jeg ser bare hav i Osmarender
> Jeg ser parkering(!!) i Sykkelkart
>
> Hvis jeg tar opp området i edit mode i Potlatch ser jeg ingen ting
> Hvis jeg laster ned data fra området i JOSM sier den at området ikke  
> inneholder data.
>
> Søker jeg opp south pole i http://nominatim.openstreetmap.org, finner jeg 
> ut OSM:node
> http://www.openstreetmap.org/browse/node/436012592
>
> Ser ut til at koordinatene er riktige.
> Konklusjon, det er noen morsomme "bugs" i Renderene.

Det er en umulig oppgave å rendre polene i den projeksjonen.

Alle de webbaserte rendrene til openstreetmap, (i liket med alle
andre webbaserte (tilebare) karttjensester), bruker (en variant av)
en kartprojeksjon som heter Mercator.  Dette gjør den vanligvis så
runde jorda til et rektangel som kan deles opp i mindre rektangler.

For å gjøre den runde jorda firkantet, må du dra ut kartet når du nærmer
deg polene, og Mercator gjør dette på en slik måte at den lokale formen
på landskapet blir bevart. (Slik at det gir mening å zoome).

Ulempen er at når du kommer nærmer deg polene blir ting større. (Veldig
mekbart hvis du sammenligner størrelsen på Svalbard og Norge.) Og selve
polpunktet er uendelig mye dratt ut, og derfor uendelig langt fra
ekvator. For å unngå å bruke uendelig mye diskplass til uendelig
mange tiles, kutter man kartet på 85 grader nord.

http://en.wikipedia.org/wiki/Mercator_projection

http://wiki.openstreetmap.org/wiki/Mercator

Hvis du tar http://www.openstreetmap.org/browse/node/436012592
og zoomer ut et passende antall ganger så ser du at du egentlig
er på ekvator (som vel var det opprinnelige poenget.  Du kan også
se på permalink urlen når du ser på kartet her, den er lat=0&lon=0.)

_Det_ vil jeg si er en bug, du burde heller få vite at du er
utenfor kartet på en måte, og renderen burde nok kaste alle noder
som er utenfor.


Jeg aner ikke hva parkeringplassen er for noe, men jeg antar det er noe
som er lagt inn nord eller sør for 85 grader.

Hvis du på egenhånd rendrer et polarkart isteden så skal det se fint ut.

Hvis man lager et program alla google earth, som viser ting i 3D,
kan man bruke lokalt optimaliserte projeksjoner på alle sider av
jorda, du deler da jorda opp i et dodekaeder eller ikosaeder
og fortsetter å dele opp i trekanter til det ser rundt ut,
og så bruker du bare trekantede tiles som teksturer på sidene.

http://en.wikipedia.org/wiki/Dodecahedron
http://en.wikipedia.org/wiki/Icosahedron

Nå har HTML5 kommet og den har en transformasjonstøtte i <canvas>,
så i teorien skulle det være mulig å implementere noe slikt der.
Problemet er at dette fortsatt er ubrukelig treigt, og vil nok ikke være
brukbart før alle browsere får støtte for å gjøre dette i hardware
på grafikkkortet.

Jeg tror vi må vente en 5-10 år før det er vits å lage det. Du
kan jo teste browseren din her:
http://tulrich.com/geekstuff/canvas/perspective.html
selv for en minimumsfunksjonalitet, synet alltid rettet mot jordas
sentrum, helt rund jordklode, trenger du å transformere 1000
tiles om gangen (i minst 1fps ;).

	Steinar


More information about the kart mailing list