webForumDet fria alternativet

Färdplaneringsapplikation

Webbutveckling

9 svar · 781 visningar · startad av lillebror

Medlem sedan apr. 20041 597 inlägg
Frågan#1

Hej,

Tänkte påbörja ett litet projekt jag gått och funderat på en tid. Innan jag sätter igång tänkte jag först höra mig för här på wF vilka metoder som kan vara lämpliga för olika delar i denna applikation.

Jag hade tänkt försöka ta fram ett webbaserat färdplaneringsprogram för flygnavigering. Följande funktioner hade jag tänkt få med till att börja med:

- Grafisk karta av Sverige med möjlighet att utifrån kartan med musen välja geografiska brytpunkter för en flygning från punkt A till B.
- Utifrån kartan scannar en funktion av koordinaterna för var och en av brytpunkterna som anges.
- Med dessa koordinater som utgångspunkt beräknas kurs, vinduppehållningsvinklar (kompensation för vind), bränsleförbrukning och distans i en annan funktion.
- Jag håller på att försöka få tag på en fil från Luftfartsverket som innehåller alla navigationsfyrar, "no-fly-zones" osv som jag hade tänkt lagra i en databas och som sedan plottas på kartan.

Att rita upp kartan och få ut koordinater på den på rätt ställen har jag rätt bra koll på. Att beräkna sträcka och kurs torde gå att lösa med pytagoras sats mellan två punkter.

Det jag funderar över är hur jag på kartan (den genererade bilden) skall kunna plotta en lager med flygfyrar som ska vara klickbara, dvs man skall kunna ange en fyr som en brytpunkt och få den tillagd i en lista över brytpunkter. Vilken teknik kan man använda sig av här? Java? Övriga tankar och idéer är varmt välkomna! :)

Medlem sedan apr. 20041 597 inlägg
#2

Spinner vidare lite på denna tråd.

För själva kartfunktionen, dvs där avändaren har möjlighet att scrolla i kartan tycker jag en lösning som den på http://www.hitta.se verkar lämplig.

Nu har jag inte någon vidare koll på hur de har programmerat denna funktion. När jag förde musen över de pilar som anger riktning såg jag att det var programmerat med (delvis iaf) hjälp av javascript. Någon som har erfarenhet av en sådan här implementation?

Skulle bli glad om någon kunde med lite tips i rättning iaf så får jag fortsätta forska i vad som är den smidigaste lösningen!

Medlem sedan jan. 20064 inlägg
#3

rendera kartor med open source ...

Här kan du börja för att rendera upp din karta:
http://sourceforge.net/projects/geoserver
alt.
http://mapserver.gis.umn.edu/

idag stödjer mysql spatial data, fyll den och använd
mapserver el. geoserver för att rendera upp din karta.
du kan läsa på Spatial databaser hos Oracle, de ha mycket utlagt
på sin site - otn.

regards, Mr Ink

Medlem sedan apr. 20041 597 inlägg
#4

Tusen tack för länkförslagen Mr.Ink!

Har du någon erfarenhet av dessa två? Vilken som är bra för vad eller är det tyck och smak?

Medlem sedan jan. 20064 inlägg
#5

ang. Geoserver o Mapserver

Hej!

har testat båda.
Geoserver är byggt i Java, så har du erfarenhet av Java och tänker
göra ditt program där du har möjlighet att köra tex tomcat så är det
en god idé ... de flesta web-hotell har dock inte tomcat som tillval.

Mapserver använder sig av php ... de flesta webhotell stödjer det.

båda är väldokumenterade och det finns god hjälp online
om du kör fast, om du läser lite på spatiala databaser så är
du i luften ganska snart ... flyger fram liksom ;)

regards, i

Medlem sedan apr. 20041 597 inlägg
#6

Tjena Mr Ink!

Nu har jag undersökt lite och försökt inhämta mer kunskaper inom GIS-området.

Mr.Ink skrev:

Här kan du börja för att rendera upp din karta:
http://sourceforge.net/projects/geoserver
alt.
http://mapserver.gis.umn.edu/

Du menade alltså att jag gör själva kartan med hjälp av dessa?! Nu har jag kollat runt på lantmäteriverkets hemsida och de har en översiktskarta 1:500 000 i rasterformat som man kan bygga på med olika lager. Är det ett alternativ att utgår ifrån (om vi säger att man är beredd att betala några kronor för kartmaterialet)?

Sedan är avsikten att lägga in alla flygrelaterade objekt i en databas som man sedan ritar på den redan betfintliga rasterkartan. Hur låter detta tänk?

rasterkartademo.jpg
Medlem sedan apr. 20041 597 inlägg
#7

Följande information följde med en DEMO-bild som man kunde ladda ner från Lantmäteriverkets hemsida:

[PICTUREINFORMATION]
LOWERLEFTCORNERX=6475000.000000
LOWERLEFTCORNERY=1500000.000000
UPPERRIGHTCORNERX=6500000.000000
UPPERRIGHTCORNERY=1525000.000000

Jag vet att det är koordinater så att man kan sätta rätt referenser i kartapplikationen. De koordinater jag har nu ser ut så här:

$lon_min = 10.415; $lon_max = 22.17; #lantmateri
$lat_min = 55.337; $lat_max = 68.6; #lantmateri

Hur ska jag konvertera värdena högst upp så att de stämmer in på dessa värden jag har i min kod nu? Jag är osäker på exakt i vilket format deras koordinater är angivna i?

Medlem sedan maj 20018 027 inlägg
#8

Koordinaterna är i RT90. Det är relativt komplicerat att konvertera mellan dessa system. I ett tidigare sammanhang hjälpte jag någon annan medlem genom att posta lite c-kod som utför transformeringen. Den koden finns fortfarande kvar bland mina filer: http://member.webforum.nu/2030/CoordTransformation.cpp
Konverteringen börjar i följande funktion:

int CCoordTransformation::RT2WGS84(double x, double y, double *lat, double *lon)

Den funktionen går vidare i en kedja till en mängd andra funktioner för att beräkna mellan olika ellipsoider. Eftersom du förmodligen inte kan använda c-koden direkt i din tillämpning, får du se det som att du i och med detta, får tillgång till de nödvändiga formler du måste räkna enligt.

Observera att när du väl har kommit in till wgs84-koordinater, är det inte bara att använda Pythagoras sats för några avståndsberäkningar. Den satsen skulle faktiskt fungera bättre för RT90-koordinater, vilka helt enkelt beskriver ett koordinatsystem i meter. Gradernas längd varierar ju med latituden och riktningen.

Medlem sedan apr. 20041 597 inlägg
#9

Puhh...känns inte helt lätt men jag ger mig inte :) Jag ska undersöka c-koden så får jag återkomma. Vad gäller avståndsberäkningar så har jag hunnit läsa lite mer om det nu. Om jag har fattat det rätt finns det avståndsfunktioner (bland många andra) i databaser som har stöd för spatial data. Då sköter ju databasen om räknandet för att få fram avstånd mellan två koordinater!

Medlem sedan apr. 20041 597 inlägg
#10

Äntligen har jag gått min GIS-bok som jag beställt. Ska begrava huvudet i den de närmaste dagarna. Här ska det produceras kartor! Återkommer när jag kommit en bit på väg och förstår hur saker och ting hänger ihop :)

255 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)