projektion och datum för svenska BSB sjökort

Hej,

Jag har ett litet problem som jag hoppas att någon kunnig själ kan hjälpa mig med!

Jag håller på och skapa en webb-applikation som ska visualisera gps-tracks på rasterkartor, mha mapserver.

Jag har inga problem när det gäller att få RIK-kartor (Gröna kartan tex) att fungera, men värre är det med BSB-filer (Sjökort - Ostkusten).

Jag får inte riktigt till det med att definiera rätt projektioner och datum.

Om man ser till papperssjökort så är dom ritade med Gauss (Transversal Mercator) projektion och WGS84 datum. Det är ju iaf vad som står på själva korten.
Och om jag har förstått det rätt så är det projektionen RT90-2,5gonV som avses här.

Om jag däremot kontrollerar den information som finns i .KAP filerna, så ska dom vara definierade i följande proj/datum:

Driver: BSB/Maptech BSB Nautical Charts
Size is 13347, 9213
Coordinate System is `'
GCP Projection = GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG",7030]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG",6326]],PRIMEM["Greenwich",0,AUTHORITY["EPSG",8901]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG",9108]],AXIS["Lat",NORTH],AXIS["Long",EAST],AUTHORITY["EPSG",4326]]

Med andra ord longlat WGS84.

Och det verkar stämma bra, om man ritar ut dom utan att projicera om, så får man en bild som är lite för bred, men i övrigt korrekt. Vilket känns logiskt när man ritar ut lika många grader på båda axlarna.

Om jag istället försöker att projicera om det hela, och rita ut i RT90, så kan jag inte få det att stämma med medel-meridianen. Det resulterande kortet lutar alltid lite åt något håll, även om jag sätter medelmeridianen till kortets egna medelmeridian.

Så långt mitt problem.

Jag antar att det finns en uppsättning projektionsparametrar & datum som stämmer, eller så har jag helt enkelt gjort någon annan tanke-vurpa.
Det konstiga är att allt fungerar så bra med RIK-filerna bara.



Uppskattar alla svar!!


Med vänlig hälsning

Marcus Kempe


-------------------
Mapserver använder PROJ.4 för transformeringar och projektioner. Här är dom jag tycker borde fungera, men som skapar ett resultat som lutar ett antal grader.

output projektion:

PROJECTION
"init=epsg:3021" # RT90 2.5 gon V
# <3021> +proj=tmerc +lat_0=0
# +lon_0=15.80827777777778 +k=1.000000 +x_0=1500000
# +y_0=0 +ellps=bessel +units=m +no_defs <>
END

och input:

PROJECTION
"init=epsg:4326" # WGS84
END
 
Jag vet inte om jag kan ge något fullständigt svar men lite ledtrådar kanske.

Enligt Lantmäteriets hemsida så har de svenska sjökorten numera samma projektion som landkartorna, d.v.s. RT90 2,5 gon V. Denna projektion baseras på kartdatum RT90, inte på WGS84. Enligt Kartcentrums hemsida har korten sedan 1997 WGS84 gradnät, men det kan man förstås trycka på kortet även om det i grunden baseras på RT90.

Om nu BSB-korten ändå på något sätt är kalibrerade i WGS84 så stämmer förstås inte projektionen. Du skulle kunna prova med den direktprojektion från WGS84 till Rikets nät som Lantmäteriet har publicerat:

Medelmeridian: 15.8062845294°
Skalfaktor: 1.00000561024
False easting: 1500064.274 m
False northing: -667.711 m
Ellipsoid: GRS 80 (WGS84)

Hälsningar
Harald
 
Hej Harald, och tack för ditt svar.

Jo jag har varit inne och läst på lantmäteriets hemsida en hel del, och har även provat att använda deras direktprojektion. Detta gör dock ingen skillnad, förutom att man kan undvida ett 200 m sydostligt fel.
Har även försökt att få projektionsbiblioteket att räkna med 7-parameters transformation (dock med mindre lyckat resultat).

Men problemet med kartan kvarstår fortfarande. Fast jag börjar nästan misstänka ett fel i transformationsbiblioteket. Allt ser nämligen bra ut om jag renderar kartan helt oomprojicerad, i WGS84 koordinater. Dock blir ju bilden i det fallet utdragen i sidled, vilket är mindre kul.

/Marcus
 
Kanske det inte är något fel. Kartblad kan vara rektangelblad eller gradblad. Ett rektangelblad avgränsas av linjer med konstanta koordinater i den valda projektionen. Ett gradblad avgränsas av meridianer och parallellcirklar.

De svenska sjökorten var förr i Mercators projektion. I den är meridianer och parallellcirklar lodräta resp. vågräta linjer. M.a.o. är det ingen skillnad mellan rektangelblad och gradblad i Mercators projektion. Ett rektangulärt sjökort i Mercators projektion avgränsas av meridianer och parallellcirklar och är således ett gradblad.

Nu har man bytt till en transversal mercatorprojektion. I en sådan blir medelmeridianen en lodrät linje och ekvatorn en vågrät linje. Alla andra meridianer blir båglinjer som böjer in mot medelmeridianen när man avlägsnar sig från ekvatorn, och alla andra parallellcirklar blir båglinjer som böjer in mot ekvatorn när man avlägsnar sig från medmeridianen.

Om man inte har ändrat bladindelningen så är bladen alltså inte längre rektangulära. De avgränsas av båglinjer och de är smalare upptill än nedtill. På ett kort i stor skala ser man knappast vare sig krökningen eller skillnaden i bredd, men de finns där. Om man linjerar bladet med projektionens koordinatxlar lodrät resp. vågrät så kommer det dessutom att luta (om det inte är vid medelmeridianen eller ekvatorn). Nu gör man vanligen inte så med tryckta gradblad, utan man vrider dem så att kartbildens kanter blir så parallella med papperskanten som möjligt, d.v.s. man låter projektionens koordinatsystem luta i stället.

Du skriver att kartan lutar. Om du med det menar att meridianerna inte är lodräta linjer, så är det alltså så att de inte ska vara det annat än vid projektionens medelmeridian. Det kan man se om man tittar på t.ex. Terrängkartan.
 
Om du inte kunde ge ett fullständigt svar i ditt första så var det andra iaf precis vad jag behövde läsa.
Har suttit och läst på några timmar nu och studerat kartor på nära håll. Flera intressanta upptäckter, och det var en helt korrekt analys av mitt problem.

Meridian (och för den delen parallell) lutningen blir ju som du säger märkbar på en karta så fort man avlägsnar sig från medelmeridianen och ekvatorn.
På vanliga papperskartor vrider man som du sa till bladen för att på så sätt lösa problemet.
Och jag antar att problemet löses av program som Fugawi på liknande sätt.

Jag testade själv och fann 2 lösningar som var mer eller mindre bra för att göra samma ska. Det ena var att helt enkelt ställa om medelmeridianen i projektionen till centrum för det kartblad man för tillfället vill titta på. Detta ser bra ut, men medför lite komplikationer eftersom man förskjuter koordinaterna i motsvarande grad.

En andra, och snyggare lösning var att införa en rotationskomponent i projektionsmatrisen. Detta ser mycket bra ut, jag har dock ännu inte lyckats lista ut formeln för att räkna ut den korrekta vinkeln som bilden ska roteras givet en specifik latitud och longitud.

Anledningen till att jag projicerar och ritar upp kartorna till att börja med är för att sedan kunna projicera gps-tracks och foto-positioner på den. (Se länk nedan för exempel).
Hur som helst är det mindre viktigt för detta ändamål om kartan är konform eller ej. Och det jag då funderar över är om det finns en projektion som inte använder en medelmeridian eller på något sätt förvrider någon eller några av kartans egenskaper, men låter horisontella och vertikala linjer vara det, oavsett vid vilken meridian man ritar ut kartan?

Detta skulle vara fördelaktigt då text och linjer skulle slippa lida av "brist på antialiasing" effekter.

Här är en länk till ett experimentiellt stadium av applikationen. Här kan man också se skillnaden mellan Sjökortet och Gröna kartan. Då gröna kartan från början är lagrad i RT90 format ser den alltid bra ut oavsett vald longitud.

http://kempe.cc/cgi-bin/mapserv?map...1&layer=hpool&layer=myogr&img.x=130&img.y=170

Återigen, tack för värdefulla svar.

Med vänlig hälsning

Marcus
 
Det finns ingen projektion som inte förvränger på något vis. Det beror på att jorden är rund och kartan är platt, numera t.o.m. när man visar den på en bildskärm. Man får alltså välja en projektion som är bra för ändamålet. Att det finns många olika projektioner beror förstås på att ingen är perfekt för alla ändamål. Om det är viktigt för dig att meridianerna är lodräta har jag två alternativa förslag:

1. Använd Lantmäteriets direktprojektion från WGS 84 till Rikets nät och räta upp kartan. Vinkeln kan du få från Lantmäteriets webtjänst Meridiankonvergens online. Där kan man mata in en position och få vinkeln mellan meridianen och koordinatsystemets x-axel.

2. Använd Mercators projektion. Den har just den egenskapen som du efterfrågar, d.v.s. meridianer är lodräta linjer och parallellcirklar är vågräta linjer. Nackdelen är att skalan växer kraftigt med latituden, men du ska väl göra kartor av ganska små områden så då är det inget problem.
 
Ja men precis, Mercator har exakt de egenskaper jag efterfrågade! Sjökortet kommer jag definitivt inte använda för någon småskalig översikt, utan det är mest för detaljstudier av färdspår, och det visar sig att mercator är en mycket väl lämpad projektion för ändamålet. Med Mercator-projektion kan jag rita sjökorten precis som dom är lagrade (dvs alla horisontella och vertikala grafik-detaljer förblir exakt sådana). Detta medför att all text blir mer läsbar och att inga aliasing-effekter uppträder på linjer etc.

Perfekt blev det nu, blir bara sur på att jag inte lyckades lista ut det själv. Jag läste om projektioner i flera timmar i fredags, och jag visste ju ändå vad jag var ute efter :)

Hur som helst, tack ännu en gång, nu kan jag gå över till att koncentrera mig på att importera färdspår och foton från databasen istället!

Och för att svara på din fråga Brune, så har jag nog inte gjort rätt för mig gentemot Lantmäteriverket och Sjöfartsverket. Dock är den här applikationen mest tänkt för privat bruk, och den kommer inte vara tillgänglig såsom den är i länken här i tråden.

Sen beror det ju såklart på vad man använder för kartmaterial, det ska komma att bli flexibelt att använda det kartmaterial man har tillgängligt är tanken.

Sen skulle det ju självklart vara ännu trevligare om man kunde ha ett publikt system, men frågan är vad licenskostnaderna för ett sådant kalas skulle gå på? Har du kanske (eller någon annan) någon idé om detta?


Mvh

Marcus



---------------

Och såhär bra blev det med Mercator:

http://kempe.cc/cgi-bin/mapserv?map...1&layer=hpool&layer=myogr&img.x=213&img.y=219

[Ändrat av cyba 2005-12-05 kl 02:55]
 
Liknande trådar
Trådstartare Titel Forum Svar Datum
magnuss Fel Datum i Garmin 12 Navigering 4
Store Hört talas om datum REGCAN 95? Navigering 6
Elvah Svenska och norska fjäll på samma onlinekarta? Navigering 10
aksello Svenska landskap, GIS-fil eller onlinekarta Navigering 5
niking Äntligen en bil-GPS med svenska koordinatsystem! Navigering 0
bjorn_zatterstrom.com GPS mobil i svenska fjällen Navigering 6
soltek Landkartor till iPhone Navigering 62
daco15 Svenska i Astro us Navigering 1
fowwe Koordinater till svenska toppar? Navigering 2
wisslan Svenska i USA astron!! Navigering 0
Lars10 Garmin etrex vista HCx - firmware v 2.50 på svenska Navigering 6
fiber garmin ique 3600 på svenska ! Navigering 1
flygis Svenska på US Garmin - Garminpatch Navigering 7
Joakim Ambrosson Amerikansk GPS, svenska kartor? Navigering 10
numma Manual på svenska Navigering 6
Alfaalfa Garmin på svenska Navigering 12
lagerstrom Överföra svenska tecken till Garmin GPSMAP 60Cx Navigering 3
KenthsAngels Bluechart på Svenska? "G2"? Navigering 1
mfn Hur översätts waypoint och POI till svenska? Navigering 34
niking Databas för 34 000 svenska våtmarker finns på ... Navigering 8
gunman69 Points-of-interests för svenska punkter Navigering 4
RedBreather Svenska Manual till 60C(S) Navigering 2
äventyrförlivet Svenska fjällkedjan jan-april Navigering 2
Instr Manual på svenska till Etrex Navigering 1
clindh Svenska geocaches på Utsidans karta Navigering 9
olhe OziExplorer på svenska snart? Navigering 0
henan 100.000 Svenska waypoints! Navigering 1

Liknande trådar


Sova ute en natt i månaden

Anna och Anna har hittat det bästa ”lifehacket” någonsin – och upptäckt många naturreservat i sömnen.