| | 1 | [[TranslatedPages(revision=3), outdated=Denne siden er delvis ufullstendig og utdatert. Se EPSG:4326 og proj4-tillegget eksisterer!)]] |
| | 2 | [[PageOutline(1-10,Innholdsfortegnelse)]] |
| | 3 | |
| | 4 | = Forstå JOSM-koordinater = |
| | 5 | |
| | 6 | == Openstreetmap-koordinater == |
| | 7 | |
| | 8 | Openstreetmap bruker breddegrad/lengdegrad-koordinater i [https://en.wikipedia.org/wiki/World_Geodetic_System WGS84] [https://en.wikipedia.org/wiki/Geodetic_datum geodetisk datumer] (kompatibel med GPS) for sine [osmwiki:Data_Primitives#Node noder], lagret i desimalgradnotasjon med 7 desimaler i [osmwiki:.osm .osm] XML-filene. |
| | 9 | |
| | 10 | Det samme punktet på jorden ville ha litt forskjellige breddegrad/lengdegrad-verdier i andre koordinatsystemer, avhengig av det respektive [https://en.wikipedia.org/wiki/Reference_ellipsoid referanseellipsoidet] og referansepunktene som brukes. |
| | 11 | |
| | 12 | == Editor-koordinater == |
| | 13 | |
| | 14 | === Java === |
| | 15 | For å gjengi noder og veier på det rektangulære, flate dataskjermen, må plasseringen av nodene reversibelt kartlegges til et [https://en.wikipedia.org/wiki/Cartesian_coordinates kartesisk] koordinatsystem, dvs. ha vinkelrette akser. JOSM bruker [http://java.sun.com/docs/books/tutorial/2d/overview/index.htm Java 2D-grafikk-API] for å håndtere gjengivelsesprosessen. Java API implementerer konseptet med et [http://java.sun.com/docs/books/tutorial/2d/overview/coordinate.html brukerrom] som kan forstås som et stort lerret med et origo (0,0) i øvre venstre hjørne, og virtuelt uendelig utvidelse til høyre (x) og nedover (y). Java 2D støtter både heltall og enkelt- eller dobbelpresisjons flyttallvariabler for (x,y)-paret. |
| | 16 | |
| | 17 | Når du viser et område fra dette virtuelle lerretet til det begrensede enhetsrommet, skjermvinduet i dette tilfellet, konverterer Java internt disse (x,y)-koordinatene til skjermkoordinater, automatisk under gjengivelsen. |
| | 18 | |
| | 19 | Selv om negative koordinater, som går til venstre for eller over origo (0,0), er teoretisk mulige, anbefales det ikke å tegne utenfor det tilgjengelige skjermområdet, da ikke alle Java-versjoner fungerer pålitelig med punkter utenfor det synlige området. |
| | 20 | |
| | 21 | === JOSM === |
| | 22 | JOSM definerer koordinatene som skal brukes både for Lat/Lon-representasjon og EastNorth-editorlerretet som '''{{{double float}}}''' i klassen [source:/trunk/src/org/openstreetmap/josm/data/coor/Coordinate.java Koordinat]. |
| | 23 | |
| | 24 | ==== LatLon ==== |
| | 25 | Klassen [source:/trunk/src/org/openstreetmap/josm/data/coor/LatLon.java LatLon] arver fra [source:/trunk/src/org/openstreetmap/josm/data/coor/Coordinate.java Koordinat] og gir sjekker for de legitime grensene for å være innenfor -90,90 for breddegrad eller -180,180 for lengdegrad. |
| | 26 | |
| | 27 | ==== EastNorth ==== |
| | 28 | Klassen [source:/trunk/src/org/openstreetmap/josm/data/coor/EastNorth.java EastNorth] arver fra [source:/trunk/src/org/openstreetmap/josm/data/coor/Coordinate.java Koordinat]. |
| | 29 | |
| | 30 | {{{east()}}} returnerer x og {{{north()}}} returnerer y-koordinaten. |
| | 31 | |
| | 32 | Dette betyr at den numeriske verdien av east() ''øker'' mot øst, mens verdien av north() ''minker'' mot nord. |
| | 33 | |
| | 34 | Klassen gir også noen metoder for å manipulere koordinatene. |
| | 35 | |
| | 36 | === Projeksjon === |
| | 37 | |
| | 38 | Den reversible kartleggingen fra LatLon-koordinater til et flatt kart eller den flate dataskjermen er en [https://en.wikipedia.org/wiki/Map_projection projeksjon]. JOSM støtter en rekke forskjellige projeksjoner fordi de har forskjellige bruksområder, spesielt i representasjonen av former eller bruken av forskjellige kildematerialer som allerede er projisert, som trykte kart, grunnboksdata, satellittbilder, WMS-servere, etc. for å spores over. Noen WMS-servere kan støtte en rekke projeksjoner på forespørsel, andre er begrenset til en spesifikk. |
| | 39 | |
| | 40 | Projeksjonene er definert i klasser i [source:/trunk/src/org/openstreetmap/josm/data/projection org.openstreetmap.josm.data.projection]. |
| | 41 | |
| | 42 | Ved å bruke JOSM kan projeksjonen byttes i Innstillinger-menyen. Nåværende versjoner av JOSM støtter bytting uten omstart. |
| | 43 | |
| | 44 | Når du bytter projeksjon, blir den samme LatLon-koordinaten representert som forskjellige numeriske verdier av EastNorth. |
| | 45 | |
| | 46 | Den toveis konverteringen mellom LatLon og EastNorth er kjerneregningen av hver implementering av klassen [source:/trunk/src/org/openstreetmap/josm/data/projection/Projection.java Projeksjon]. Implementeringen må sørge for at det gyldige området av LatLon-verdier er kartlagt til et gyldig område av EastNorth-verdier. |
| | 47 | |
| | 48 | Siden noen projeksjoner bare er gyldige for visse regioner av jorden, kan implementeringen også definere grenser der JOSM kan redigere, dvs. panorerer enhetsvinduet over brukerrommet. |
| | 49 | |
| | 50 | Noen bruksområder for projeksjoner som støttes i JOSM er oppsummert nedenfor. |
| | 51 | |
| | 52 | ==== Mercator ==== |
| | 53 | |
| | 54 | Den sylindriske [https://en.wikipedia.org/wiki/Mercator_projection Mercator]-projeksjonen, oppkalt etter oppfinneren, |
| | 55 | kartlegger meridianer og paralleller rett og vinkelrett. |
| | 56 | |
| | 57 | I JOSM, f.eks. små runde objekter som rundkjøringer vises som en sirkel, |
| | 58 | og rektangulære bygninger sees som rektangulære. |
| | 59 | |
| | 60 | Ulempen er strekkingen av polene til uendelig. |
| | 61 | |
| | 62 | For tiden er Mercator standardprojeksjonen i JOSM. |
| | 63 | |
| | 64 | De fleste WMS-servere støtter ikke denne projeksjonen, men JOSM viser EPSG:4326-data også for Mercator-projeksjon (som ikke er helt korrekt, men de resulterende feilene er små i den nåværende versjonen av programvaren). |
| | 65 | |
| | 66 | ==== EPSG:4326 ==== |
| | 67 | |
| | 68 | [https://en.wikipedia.org/wiki/EPSG:4326 EPSG:4326] er et vanlig breddegrad/lengdegrad-koordinatreferansesystem som refererer til WGS84. |
| | 69 | |
| | 70 | (discuss need for WMS servers / Landsat and Yahoo Sat usage) |
| | 71 | |
| | 72 | ==== UTM ==== |
| | 73 | |
| | 74 | Den [https://en.wikipedia.org/wiki/Transverse_Mercator_projection Transverse Mercator]-projeksjonen er en tilpasning av Mercator-projeksjonen, |
| | 75 | som roterer sylinderen 90°. |
| | 76 | |
| | 77 | Det [https://en.wikipedia.org/wiki/Universal_Transverse_Mercator_coordinate_system Universal Transverse Mercator] (UTM) med sine 60 soner, samt en rekke |
| | 78 | nasjonale gridreferansesystemer, er basert på denne projeksjonen. |
| | 79 | |
| | 80 | Innenfor UTM-soner eller de nasjonale gridsystemene kan en referanse av 2-dimensjonale kartesiske koordinater defineres, |
| | 81 | vanligvis gitt i [https://en.wikipedia.org/wiki/Universal_Transverse_Mercator_coordinate_system#Locating_a_position_using_UTM_coordinates Eastings og Northings] |
| | 82 | som en meterverdi fra et bestemt origo. Disse Eastings og Northings må ikke forveksles med EastNorth-koordinaten i JOSM. |
| | 83 | |
| | 84 | ==== Landspesifikke projeksjoner ==== |
| | 85 | |
| | 86 | Mange land spesifiserer sine egne referansesystemer, noen basert på Transverse Mercator, andre ikke. |
| | 87 | |
| | 88 | Generelt kan JOSM støtte noen av disse systemene så snart LatLon til EastNorth-konverteringen er implementert. |
| | 89 | |
| | 90 | Det er planlagt å ha støtte for PROJ4-biblioteket som et tillegg, som støtter mange transformasjoner. |