![]() |
Hej!
Efter ett antal sök-försök på google så måste jag nu ta hjälp på annat sätt. Håller just nu på med ett projekt där jag ska placera ut ett antal punkter i google maps. Koordinaterna till dessa punkter hämtas från ett tredjepartssystem och kommer i formatet RT90. Google maps använder det decimala formatet av WGS84. Med andra ord så måste jag konvertera mellan dessa format. Detta i kombination med att jag inte är ett mattesnille innebär problem. Finns det någon som har gjort detta och kanske t.o.m har något kodexempel? |
|
Tack för den informationen men den har jag redan sett.
Jag söker mer något verkligt kodexempel, någon? |
Har inte själv någon direkt erfarenhet av gps eller google maps, men behöver du hjälp att omvandla formeln på wikipedia-länken i KarlRoos inlägg till kod, kanske jag kan hjälpa till...
|
Skulle du fixa det vore jag evigt tacksam.
Länken till wikipedia beskriver ju formeln för att konvertera från WGS84 till RT90 och det jag behöver är det motsatta dvs från RT90 till WGS84(i decimalt format). Kanske en enkel grej att vända på steken? Med andra skulle jag vilja skicka in RT90 i formatet x : 6580626, y : 1629015 och få ut WGS84 i formatet x : 12.123XXX, y : 12.123XXX. Applikationen detta ska in i är en .NET-sajt i C# men skriver du uträkningen i ett annat språk kan jag nog översätta det. Tack på förhand. |
Har haft mycket annat att göra, så det tog några dagar. Hoppas du i alla fall kan ha någon nytta av detta.
Jag har inga testdata så jag har inte kontrollerat att konverteringen stämmer, men jag får i alla fall tillbaka samma värden om jag konverterar godtyckliga värden RT90 -> Sweref99 -> RT90. Jag har bara utgått från formeln på wikipedia, och de siffervärden som finns där har jag satt som konstanter. Behöver de ändras i programmet får du ju göra om det på något sätt, kanske genom att skicka in aktuella värden till konstruktorn eller nåt. Så här använder du min lilla konverterare: Kod:
double x_RT90= 123; Kod:
using System; Kod:
public class Matrix Kod:
public class Vector Kod:
public class MatrixMath |
Oj, det var som f*n!
Trodde inte riktigt att någon skulle ta sig an detta men se där. Har inte testat koden än men återkommer när jag gjort det. Tusen tack och bock! |
Det blev en del rader, men är egentligen inte särskilt komplicerat kodmässigt. Slängde ihop några enkla klasser för linjär algebra (finns säkerligen en hel del betydligt effektivare bibliotek att använda, men jag hittade inget som var gratis...). Den klurigaste grejen är att invertera matrisen R, men där hade jag god hjälp av Mathematica :)
Säg till om det är något som verkar skumt när du har provat! |
Hej!
jag undrar hur man går från RT90 till WGS84 med hjälp av koden ovan? Jag vill gå till grader enligt nedan: X= 6166951 Y= 1323214 N 55º 35' 59.43" Long: E 13º 0' 1.24" Tack på förhand |
etanders, testade din kod och resultatet av konverteringarna stämde inte alls. Jag har själv kodat ihop ett .NET bibliotek och publicerat det på min blog under Creative Commons licens. Mitt bibliotek kan konvertera koordinater mellan RT90, WGS84 och SWEREF99. Läs mer och ladda ner koden:
http://blog.sallarp.com/translate-co...f99-using-net/ Lycka till! My Webpage |
Alla tider är GMT +2. Klockan är nu 13:34. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson