Kom ihåg mig?
Home Menu

Menu


Konvertera lat, long till 2d

Ämnesverktyg Visningsalternativ
Oläst 2007-04-25, 02:33 #1
totoos avatar
totoo totoo är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Nov 2006
Inlägg: 730
totoo totoo är inte uppkopplad
Mycket flitig postare
totoos avatar
 
Reg.datum: Nov 2006
Inlägg: 730
Hallå... Jag har bråkat lite med en kartfunktion en stund och har inte riktigt fått till mina koordinater.

Jag har en kartbild som är helt korrekt enligt alla lat, long-koordinater, så det är inget fel på den (är 99% säker iaf). Jag har sedan en massa koordinater för svenska städer som jag sedan genererar ut på min karta.

Det blir nästan perfekt, men på vissa ställen, framförallt södra sverige så skär det sig.

Formeln jag använder för att konvertera till 2d är helt enkelt: (phpkod)

$x = ($origoLong - $long) * cos($origoLat);
$y = $origoLat - $lat;

Origo-variablerna är bara en påhittad referenspunkt. Sedan multiplicerar jag och offsetar punkterna så att de matchar min karta etc.

Men jag vet att matematiken för konverteringen inte är sådär lätt pga jordens form. Det där är vad jag har förstått en förenkling som duger i vissa fall, men inte i mitt.

Högst upp kommer mina punkter för högt, längst ner kommer de för lågt, enkelt beskrivet. Det känns som det är nån multiplikation med cos / sin eller liknande som behövs. Någon form av kurva lär det vara.

På bredden är det perfekt, alla punkter hamnar mycket nära där jag vill ha dem. Men höjden svänger som sagt.

Jag goolar som en tok men hittar inget vettigt.

Är det någon som har erfarenhet av sånt här eller vet var det finns bra instruktioner?
Jag inser ju naturligtvis själv att jag måste efterbehandla resultatet för att det ska passa just min karta - men jag vill att alla punkter ska ha rätt förhållande till varandra, så att jag kan utföra samma multiplikation för skala + samma offset för kartans utformning på alla punkter.

Edit: Jag har förresten insett att det finns olika typer av projektioner, men jag antar att nån är typ standard? Eller mja... Nån form av standard finnd det ju alltid - för alla gpsmaskiner kan ju rita ut en 2dbild (rastrerad) mha long, lat.

Alla förslag är välkomna, även olika lösningar så får jag testa allt och se vad som passar just min karta.

Även gratis kartor med korrekta positioner mottas gärna. Jag har en som just nu är screenshot från google maps, så den borde funka bra, men jag vill ha alternativa kartor också.

Tack tack
totoo är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-04-25, 03:16 #2
totoos avatar
totoo totoo är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Nov 2006
Inlägg: 730
totoo totoo är inte uppkopplad
Mycket flitig postare
totoos avatar
 
Reg.datum: Nov 2006
Inlägg: 730
btw så borde väl den projektion som google använder vara den jag vill använda. Det viktiga är att jag har en karta och att vi vet vilken projektion den använder.

Jag har hittat en annan metod nu som är heeeeeelt perfekt på bredden (mer perfekt än den tidigare), och här är placeringarna jättebra uppe och nere, men kaos i mitten.

Ni kan spana in här

De gröna punkterna ska matcha de röda. Det finns ett gäng gröna punkter som inte har några röda motsvarigheter, men högst upp och längst ner hamnar de precis på punkten ifråga. Men i mitten glider de isär på höjden.
totoo är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-04-25, 04:42 #3
totoos avatar
totoo totoo är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Nov 2006
Inlägg: 730
totoo totoo är inte uppkopplad
Mycket flitig postare
totoos avatar
 
Reg.datum: Nov 2006
Inlägg: 730
Efter en massa trolleri och ett par ifsatser (typ, if närmare topp än botten, if avstånd till topp / botten (vad som är närmast) är högre än ett visst värde, multiplicera med nån liten faktor...

Det hela hade säkert gått att lösa med nån snygg matematisk grej, men jag är inte säker nog på matte, så det fick vara.

Om någon har en aning om vad jag borde göra så är jag öppen för experiment.

Annars är jag rätt nöjd med resultatet nu. Jag vet inte riktigt hur det fungerar i norraste norrland, för jag har inga koordinater för de norraste punkterna så att jag kan testa.

Om nån kan ge mig koordinater för den nordligaste punkten i hela sverige så tar jag gärna emot den.

Tack å såhär ser det ut nu, 99% perfekt




Jag bjuder också på ett påskägg med ca 5000 renderade svenska orter, plus första ordet i ortsnamnet.

Visst känns det som att min algoritm är ganska pricksäker. Ett par prickar hamnar utanför sverige.. Om det innebär att jag har gjort fel eller om min databas innehåller mysko punkter vet jag inte - och jag bryr mig inte.

totoo är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 11:33.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017