Kartografia - vypocet suradnic
-
t0m4s3
Admin
- Príspevky: 18096
- Registrovaný: 14 jún 2004, 18:35
- Bydlisko: Martin SR, Brno CZ
- Kontaktovať používateľa:
Kartografia - vypocet suradnic
Pomoze mi niekto s vypoctom suradnic bodu ak poznam suradnice vychodzieho bodu, smer (uhol) k druhemu bodu a vzdialenost k druhemu bodu. Dik
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Kód: Vybrať všetko
rEarth = 6371.01 # Earth's average radius in km
epsilon = 0.000001 # threshold for floating-point equality
def deg2rad(angle):
return angle*pi/180
def rad2deg(angle):
return angle*180/pi
def pointRadialDistance(lat1, lon1, bearing, distance):
"""
Return final coordinates (lat2,lon2) [in degrees] given initial coordinates
(lat1,lon1) [in degrees] and a bearing [in degrees] and distance [in km]
"""
rlat1 = deg2rad(lat1)
rlon1 = deg2rad(lon1)
rbearing = deg2rad(bearing)
rdistance = distance / rEarth # normalize linear distance to radian angle
rlat = asin( sin(rlat1) * cos(rdistance) + cos(rlat1) * sin(rdistance) * cos(rbearing) )
if cos(rlat) == 0 or abs(cos(rlat)) < epsilon: # Endpoint a pole
rlon=rlon1
else:
rlon = ( (rlon1 - asin( sin(rbearing)* sin(rdistance) / cos(rlat) ) + pi ) % (2*pi) ) - pi
lat = rad2deg(rlat)
lon = rad2deg(rlon)
return (lat, lon)skus si tie vzorce domysliet z tohto kodu, mozno ti to pomoze
http://cs.wikipedia.org/wiki/Ortodroma
vzroce na vypocet dlzky ortodromu.
na Karto som bol rad, ked som to vyratal podla dvoch bodov, takze by sa clovek, ktory to vyrata mohol podelit aj o postup.
//autoeditácia príspevku ( 13 Jul 2009, 7:59 )
to som blbec. tak je to loxodroma
a vypocet a nakres.
bohuzial "software" http://www.matasek.net/studium/geoinfor ... :ortodroma mi bral len cele hodnoty tak to mas skreslene
N 50°3'35.90'' E 16°54'12.20''
vzroce na vypocet dlzky ortodromu.
na Karto som bol rad, ked som to vyratal podla dvoch bodov, takze by sa clovek, ktory to vyrata mohol podelit aj o postup.
//autoeditácia príspevku ( 13 Jul 2009, 7:59 )
to som blbec. tak je to loxodroma
a vypocet a nakres.
bohuzial "software" http://www.matasek.net/studium/geoinfor ... :ortodroma mi bral len cele hodnoty tak to mas skreslene
N 50°3'35.90'' E 16°54'12.20''
-
t0m4s3
Admin
- Príspevky: 18096
- Registrovaný: 14 jún 2004, 18:35
- Bydlisko: Martin SR, Brno CZ
- Kontaktovať používateľa:
este to skusim prebehnut cez kod od kupa
//autoeditácia príspevku ( 13 Jul 2009, 18:24 )
Tak jedna suradnica zatial vysla jak ma, este ta druha - ten program od kupa zrejme funguje
//autoeditácia príspevku ( 14 Jul 2009, 16:37 )
Nakoniec som to nakodil v php (v podstate iba prepisal kod od kupa) a vyslo to, akurat som musel odstranit "% pi"
ak by mal niekto zaujem tak:
//autoeditácia príspevku ( 13 Jul 2009, 18:24 )
Tak jedna suradnica zatial vysla jak ma, este ta druha - ten program od kupa zrejme funguje
//autoeditácia príspevku ( 14 Jul 2009, 16:37 )
Nakoniec som to nakodil v php (v podstate iba prepisal kod od kupa) a vyslo to, akurat som musel odstranit "% pi"
ak by mal niekto zaujem tak:
Kód: Vybrať všetko
<?php
$rEarth = 6378; // Earth's average radius in km
$epsilon = 0.000001; // threshold for floating-point equality
$pi = 3.1415926;
$lat1 = 51.4772222;
$lon1 = 0;
$bearing = 95.72247; //95.72247
$distance = 1200.97269;
$rlat1 = deg2rad($lat1);
$rlon1 = deg2rad($lon1);
$rbearing = deg2rad($bearing);
$rdistance = $distance / $rEarth; // normalize linear distance to radian angle
$rlat = asin( sin($rlat1) * cos($rdistance) + cos($rlat1) * sin($rdistance) * cos($rbearing) );
$rlon = ( ($rlon1 - asin(( sin($rbearing)*(sin($rdistance))/(cos($rlat)))) + $pi )) - $pi;
$lat = rad2deg($rlat);
$lon = rad2deg($rlon);
echo "Lat: ".$lat."<br>";
echo "Lon: ".$lon;
?>