Kartografia - vypocet suradnic

Ak potrebujete pomoc alebo poradiť, píšte sem (len PC, elektronika atď.)...
t0m4s3
Admin
Admin
Používateľov profilový obrázok
Príspevky: 18096
Registrovaný: 14 jún 2004, 18:35
Bydlisko: Martin SR, Brno CZ
Kontaktovať používateľa:

Kartografia - vypocet suradnic

Príspevok od používateľa t0m4s3 »

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
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

daj hodnoty
t0m4s3
Admin
Admin
Používateľov profilový obrázok
Príspevky: 18096
Registrovaný: 14 jún 2004, 18:35
Bydlisko: Martin SR, Brno CZ
Kontaktovať používateľa:

Príspevok od používateľa t0m4s3 »

Vychodzie suradnice: N 51°28'38'' E 00°00'00''
uhol: 95°43'20.88''
Vzdialenost: S = 1 200 972,69 m
Polomer gule na ktorej sa to ma pocitat: 6 378 000m
kupo
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1194
Registrovaný: 31 aug 2005, 16:51

Príspevok od používateľa kupo »

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)
zdroj

skus si tie vzorce domysliet z tohto kodu, mozno ti to pomoze
jackb
Redeemer
Redeemer
Používateľov profilový obrázok
Príspevky: 20042
Registrovaný: 09 sep 2005, 19:40
Bydlisko: UK

Príspevok od používateľa jackb »

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. :wink:

//autoeditácia príspevku ( 13 Jul 2009, 7:59 )
to som blbec. tak je to loxodroma :oops:
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''
Prílohy
obrazek.jpg
t0m4s3
Admin
Admin
Používateľov profilový obrázok
Príspevky: 18096
Registrovaný: 14 jún 2004, 18:35
Bydlisko: Martin SR, Brno CZ
Kontaktovať používateľa:

Príspevok od používateľa t0m4s3 »

Daju sa zadat aj desatinne miesta, ale miesto "." musis pouzit "," - ale aj napriek tomu mi to ukazuje zle :-/
jackb
Redeemer
Redeemer
Používateľov profilový obrázok
Príspevky: 20042
Registrovaný: 09 sep 2005, 19:40
Bydlisko: UK

Príspevok od používateľa jackb »

a ukazuje to zle v °, ' alebo v " ?
teda aj takto je to nepresne:
Prílohy
loxo.png
t0m4s3
Admin
Admin
Používateľov profilový obrázok
Príspevky: 18096
Registrovaný: 14 jún 2004, 18:35
Bydlisko: Martin SR, Brno CZ
Kontaktovať používateľa:

Príspevok od používateľa t0m4s3 »

Ano tento vysledok som dostal, ale spravne to ma byt okolo N 49° 11.633 E016° 33.644
jackb
Redeemer
Redeemer
Používateľov profilový obrázok
Príspevky: 20042
Registrovaný: 09 sep 2005, 19:40
Bydlisko: UK

Príspevok od používateľa jackb »

tak viac ti nepomoze. na Karto sme loxodromu mali len spomenutu a ratali sme len s ortodomami, ale kedze som nepriatel celej matematiky tak si netrufam pustit sa do rovnice s 2 neznamymi, ktore su zaroven aj goniometricke funkcie :?
t0m4s3
Admin
Admin
Používateľov profilový obrázok
Príspevky: 18096
Registrovaný: 14 jún 2004, 18:35
Bydlisko: Martin SR, Brno CZ
Kontaktovať používateľa:

Príspevok od používateľa t0m4s3 »

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:

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;
?>
Napísať odpoveď