[ALG] coordinaten x kilometer verder

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 12:05
Hallo,

Ik heb wat zitten googlen, en helaas is wiskunde niet mijn sterkste kant (wat soms toch wel handig kan zijn met programmeren) en zo ook dit probleem.

Ik heb de longtitude en latitude coordinaten, en ik wil graag de coordinaten van bijvoorbeeld 10km verderop (richting zuidwest).

In een tekening:

|xyA ------------------------------- |
|
|
|
|
|
|
|___________________xyB|


Dus als de longtitude en latitude (xyA) coordinaten bijvoorbeeld zijn: 53.3206634 & 6.0043179 zijn, dan wil ik graag weten wat de coordinaten van xyB zijn (welke 10km verder in het zuidwesten ligt).

Ik heb op google gezocht, maar specifiek kwam ik mijn probleem niet tegen, ik kwam wel o.a deze tegen: (in php) http://snipplr.com/view/2...nates-latitude-longitude/ waar he de afstand terugkrijgt als je 2 coordinaten invult.

Maar bij mij is de 2e coordinaat de ontbrekende factor, de eerste coordinaat, afstand en richting weet ik wel.

Zoals ik al zei, mijn wiskunde is niet bepaald sterk, dus ik zou ook niet weten hoe en of de gegeven formule is om te bouwen.

[ Voor 9% gewijzigd door ZpAz op 25-07-2009 14:19 ]

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • Hoeloeloe
  • Registratie: December 2007
  • Laatst online: 17-05 12:21
Als eerste zou je voor jezelf het probleem eens moeten tekenen op papier, en erbij bedenken dat de aarde een bol is, en geen pannekoek. longitude en latitude zijn dan ook geen afstanden maar hoeken. Je uiteindelijke resultaat zal dan ook een combinatie van cos, sin zijn. Zodra ik meer tijd heb, kijk ik er wel verder na mocht er geen antwoord zijn :)

edit: de aarde is eigenlijk niet echt een bol. zie ook wiki Wikipedia: Longitude

[ Voor 16% gewijzigd door Hoeloeloe op 25-07-2009 14:27 ]


Acties:
  • 0 Henk 'm!

Anoniem: 60780

Om dit te kunnen beantwoorden hebben we meer gegevens nodig. Ten eerste: hoe nauwkeurig moet het? En daarmee gerelateerd: mag de rekensom alleen in Nederland geldig zijn?

Of met andere woorden: gebruik je als model voor de aarde een ellipsoïde of een bol? In het geval van het eerste, welke? (Bessel? WGS84?)

Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 28-05 16:11
Heel veel stuff, somes met formules en code: http://mathforum.org/libr...s/select/dm_lat_long.html

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Acties:
  • 0 Henk 'm!

  • Edmin
  • Registratie: Januari 2006
  • Laatst online: 28-05 14:09

Edmin

Crew Council

get on my horse!

Je hebt hier een uitdaging. Lat/long is namelijk niet gebaseerd op kaartvierkanten van een vaste afmeting, zoals UTM WGS84 dat wel is. Lat/long is gebaseerd op lijnen die evenwijdig aan de evenaar lopen (horizontaal) en lijnen die snijden in (globaal) de noord- en zuidpool (verticaal). Daarnaast is het systeem niet decimaal, maar werkt het met minutes en in mijlen ipv kilometers.

Wat je dus eerst moet doen is je lat/long coordinaat omzetten naar een UTM grid. Dat doe je vanaf de kaart, of dmv een omrekenprogramma'tje. Daarna is het een eenvoudig geval van toepassen van de stelling van pythagoras, in combinatie met soscastoa (sinus cosinus en tangens), maar dan geinventeerd. Dit doe je met je rekenmachine.

Acties:
  • 0 Henk 'm!

Anoniem: 60780

Edmin schreef op zaterdag 25 juli 2009 @ 14:49:
Je hebt hier een uitdaging. Lat/long is namelijk niet gebaseerd op kaartvierkanten van een vaste afmeting, zoals UTM WGS84 dat wel is. Lat/long is gebaseerd op lijnen die evenwijdig aan de evenaar lopen (horizontaal) en lijnen die snijden in (globaal) de noord- en zuidpool (verticaal). Daarnaast is het systeem niet decimaal, maar werkt het met minutes en in mijlen ipv kilometers.

Wat je dus eerst moet doen is je lat/long coordinaat omzetten naar een UTM grid. Dat doe je vanaf de kaart, of dmv een omrekenprogramma'tje. Daarna is het een eenvoudig geval van toepassen van de stelling van pythagoras, in combinatie met soscastoa (sinus cosinus en tangens), maar dan geinventeerd. Dit doe je met je rekenmachine.
Beetje merkwaardig om het gebruik van niet-equidistante projectie voor te stellen wanneer de OP juist met afstanden wil werken.

Er hoeft trouwens überhaupt geen projectie te worden uitgevoerd, als we wat meer randvoorwaarden zouden weten.

Acties:
  • 0 Henk 'm!

  • Edmin
  • Registratie: Januari 2006
  • Laatst online: 28-05 14:09

Edmin

Crew Council

get on my horse!

Klinkt luxe. Kun je dat ook uitwerken?

Zonder ingewikkelde berekeningen kom je er anders niet uit, als je in l/l blijft werken. Een l/l mapgrid is namelijk overal ter aarde 5NM 'hoog', maar alleen op de evenaar ook 5NM 'breed'. Vanaf daar loopt het taps naar de pool en neemt die afstand dus af. Zo vreemd is het dus niet om van de ingewikkelde rekeneenheid (minutes en seconds) naar een decimale eenheid te stappen die overal op aarde gelijkvormig is (m.u.v. de kaartvierkanten die 100K squares verbinden).

Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 12:05
Wow, er wordt vanalles op me affegooid, en het enige stuk wat me bij is geblven is 'hoeft het alleen in nederland geldig te zijn' en een paar 100 meter nauwkeurigheid is wel te doen.

De rest zal ik wat grondiger bestuderen wanneer ik achter mijn eigen computer zit.

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • Edmin
  • Registratie: Januari 2006
  • Laatst online: 28-05 14:09

Edmin

Crew Council

get on my horse!

Is het coordinaat uit je SP ook echt je startpunt?
Is de richting exact ZW (235graden)?

Acties:
  • 0 Henk 'm!

  • DrClaw
  • Registratie: November 2002
  • Laatst online: 12-04 14:37
I felt lucky and googled: http://www.movable-type.co.uk/scripts/latlong.html

jij wilt het formuletje implementeren wat staat bij: Destination point given distance and bearing from start point

Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 12:05
Edmin schreef op zaterdag 25 juli 2009 @ 21:36:
Is het coordinaat uit je SP ook echt je startpunt?
Niet altijd, wel ergens in NL
Edmin schreef op zaterdag 25 juli 2009 @ 21:36:
Is de richting exact ZW (235graden)?
Jep. (NO komt er ook bij, maar als ZW bekend is hoe dat moet, zal NO ook wel vrij makkelijk zijn.)

[ Voor 14% gewijzigd door ZpAz op 25-07-2009 22:56 ]

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

Anoniem: 60780

ZpAz schreef op zaterdag 25 juli 2009 @ 21:32:
Wow, er wordt vanalles op me affegooid, en het enige stuk wat me bij is geblven is 'hoeft het alleen in nederland geldig te zijn' en een paar 100 meter nauwkeurigheid is wel te doen.

De rest zal ik wat grondiger bestuderen wanneer ik achter mijn eigen computer zit.
Als ik het me goed herinner is met een nauwkeurigheideis van een paar honderd meter de aarde prima met een bol te benaderen. En da's goed nieuws want dan zijn de formules een stuk makkelijker. Je kunt dan namelijk de gewone trigonometrische formules gebruiken, en hoef je je niet tot numerieke methoden te wenden.

Voor de straal R van de aarde kun je 6370 km nemen.

a = de afstand (een koorde van 10 km in het voorbeeld van de OP). De lengte van de koorde moeten we even omrekenen naar een booglengte. Een grootcirkel heeft een booglengte O van 2πR = 40023,890 km. De booglengte a is 360/O*10 = 0,08994627 graden.

Neem een rechthoekige boldriehoek SAE. S is het startpunt. E het eindpunt. A heeft dezelfde breedtegraad als E en de dezelfde lengtegraad als S en maakt dus de rechthoekige boldriehoek compleet.

De zijden van de boldriehoek worden beschreven door sae. a is de lengte van 10km. De hoeken α en γ zijn de hoeken van punten S en A respectievelijk, en bedragen 45 en 90 graden.

De onbekenden die we willen weten zijn lengten s en e. s kan worden uitgerekend met de sinusregel.

sin s / sin α = sin a / sin γ = sin e / sin β

s = boogsin (sin a sin α / sin γ) = 0,063601610 graden

e kan worden uitgerekend met behulp van de cosinusregel.

cos a = cos s cos e

e = boogcos (cos a / cos s) = 0,0636016497 graden.

s en e van de geografische coördinaat van S aftrekken geeft de coördinaten van E:

53.2570618 NB en 5.9407163 WL.

Verificatie wordt als oefening aan de lezers overgelaten :p

[ Voor 5% gewijzigd door Anoniem: 60780 op 27-07-2009 00:24 . Reden: ten onrechte β als 45 graden vastgesteld. Eindresultaat nagenoeg hetzelde vanwege kleine afstand van 10km ]


Acties:
  • 0 Henk 'm!

  • matthijsln
  • Registratie: Augustus 2002
  • Laatst online: 26-05 23:01
ZW lijkt me 225 graden, niet 235 toch?
Anoniem: 60780 schreef op zondag 26 juli 2009 @ 11:21:
[...]

Als ik het me goed herinner is met een nauwkeurigheideis van een paar honderd meter de aarde prima met een bol te benaderen...

53,2570617 NB en 5,9407162 WL.

Verificatie wordt als oefening aan de lezers overgelaten :p
Volgens mij zo'n 2,8 km uit de buurt...

Onderstaande SQL query voor PostgreSQL met PostGIS zet eerst Lat/Lon (SRID 4326) om naar het Rijksdriehoekstelsel (SRID 28992), waarin je gewoon in meters kunt rekenen:

SQL:
1
2
3
4
5
6
7
8
9
10
11
select astext(
    transform(
        translate(
            transform(
                pointfromtext('POINT(6.0043179 53.3206634)', 4326), 28992),
                -10000 * sin(radians(45)), 
                -10000 * cos(radians(45))
        ),
        4326
    )
)


Daarna weer terug naar Lat/Lon levert op 53.2576276239916 en 5.8974602760008 :)

Acties:
  • 0 Henk 'm!

Anoniem: 60780

matthijsln schreef op zondag 26 juli 2009 @ 13:08:
ZW lijkt me 225 graden, niet 235 toch?

Volgens mij zo'n 2,8 km uit de buurt...
Ik denk dat daar iets niet helemaal klopt. Het verschil in lengtegraad tussen jou einduitkomst en die van de OP bedraagt 0.1068579 graden, meer dan 11 km (op een bol, weliswaar).
Daarna weer terug naar Lat/Lon levert op 53.2576276239916 en 5.8974602760008 :)
Wat voor ellipsoïde gebruik je dan om om te rekenen naar RD?

[ Voor 84% gewijzigd door Anoniem: 60780 op 26-07-2009 13:34 ]


Acties:
  • 0 Henk 'm!

  • matthijsln
  • Registratie: Augustus 2002
  • Laatst online: 26-05 23:01
Anoniem: 60780 schreef op zondag 26 juli 2009 @ 13:24:

Wat voor ellipsoïde gebruik je dan om om te rekenen naar RD?
WGS 84, en dat klopt indd misschien niet als ik deze link lees... In 10km zal dit niet zoveel uitmaken maar misschien bij een langere afstand wel. Misschien dat met PostGIS ook wel de juiste projectie kan worden gebruikt.

[ Voor 47% gewijzigd door matthijsln op 26-07-2009 13:33 ]


Acties:
  • 0 Henk 'm!

  • matthijsln
  • Registratie: Augustus 2002
  • Laatst online: 26-05 23:01
Anoniem: 60780 schreef op zondag 26 juli 2009 @ 13:24:
Ik denk dat daar iets niet helemaal klopt. Het verschil in lengtegraad tussen jou einduitkomst en die van de OP bedraagt 0.1068579 graden, meer dan 11 km (op een bol, weliswaar).
Je hebt gelijk, ik had mijn uitkomst vergeleken met die van jouw gebruik makend van WGS 84. Voor ellipsoide coordaten klopt dat natuurlijk niet en dus lijkt jouw berekening wel correct.

Indien de coordinaten van TS dus in WGS84 zijn (GPS, Google Maps...) etc. zijn mijn coordinaten de juiste, anders (dus echt ellipsoide coordinaten) die van jointm1k

Acties:
  • 0 Henk 'm!

  • Edmin
  • Registratie: Januari 2006
  • Laatst online: 28-05 14:09

Edmin

Crew Council

get on my horse!

matthijsln schreef op zondag 26 juli 2009 @ 13:08:
ZW lijkt me 225 graden, niet 235 toch?
idd.

Acties:
  • 0 Henk 'm!

Anoniem: 60780

matthijsln schreef op zondag 26 juli 2009 @ 14:06:
[...]


Je hebt gelijk, ik had mijn uitkomst vergeleken met die van jouw gebruik makend van WGS 84. Voor ellipsoide coordaten klopt dat natuurlijk niet en dus lijkt jouw berekening wel correct.

Indien de coordinaten van TS dus in WGS84 zijn (GPS, Google Maps...) etc. zijn mijn coordinaten de juiste, anders (dus echt ellipsoide coordinaten) die van jointm1k
Nee nee, ik benaderde de aarde met een bol-vorm. Niet met een ellipsoïde. (Maar ik verwachtte eigenlijk geen kilometers verschil hierdoor.)

Als je WGS84 en RD wilt gebruiken wordt het probleem wel een stuk lastiger (maar ook preciezer). Globaal besproken moet je eerst
  • de WSG84 omrekenen naar rechthoekige coördinaten (rhc),
  • daarna een datumtransformatie uitvoeren om de rhc-wgs84 naar rhc t.o.v. de Bessel ellipsoïde berekenen.
  • Dan kun je de rhc-Bessel coördinaten weer omrekenen naar geografische coördinaten
  • die je vervolgens kunt projecteren in het RD-stelsel.
  • Nu kun je je RD start positie met 10 km verschuiven om het eindpunt in RD te krijgen.
  • Het hele riedeltje kan nu in omgekeerde volgorde worden doorlopen om het Eind-RD-coördinaat weer in WGS84 te berekenen :z
Voor veel van deze transformaties bestaan geen analytische formules, en zul je je met reeksontwikkelingen en kleinste-kwadraten-methoden moeten behelpen.

En daar heb ik even geen zin in :)

[ Voor 8% gewijzigd door Anoniem: 60780 op 26-07-2009 14:30 ]


Acties:
  • 0 Henk 'm!

  • matthijsln
  • Registratie: Augustus 2002
  • Laatst online: 26-05 23:01
Anoniem: 60780 schreef op zondag 26 juli 2009 @ 14:24:
Als je WGS84 en RD wilt gebruiken wordt het probleem wel een stuk lastiger (maar ook preciezer).
[...]
En daar heb ik even geen zin in :)
Dit is wel wat de PostGIS query doet, zo'n transform() functie doet een boel...

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03:24

.oisyn

Moderator Devschuur®

Demotivational Speaker

Edmin schreef op zaterdag 25 juli 2009 @ 14:49:
Je hebt hier een uitdaging. Lat/long is namelijk niet gebaseerd op kaartvierkanten van een vaste afmeting, zoals UTM WGS84 dat wel is. Lat/long is gebaseerd op lijnen die evenwijdig aan de evenaar lopen (horizontaal) en lijnen die snijden in (globaal) de noord- en zuidpool (verticaal). Daarnaast is het systeem niet decimaal, maar werkt het met minutes en in mijlen ipv kilometers.

Wat je dus eerst moet doen is je lat/long coordinaat omzetten naar een UTM grid. Dat doe je vanaf de kaart, of dmv een omrekenprogramma'tje. Daarna is het een eenvoudig geval van toepassen van de stelling van pythagoras, in combinatie met soscastoa (sinus cosinus en tangens), maar dan geinventeerd. Dit doe je met je rekenmachine.
Het enige dat je hier nodig hebt is een relatief simpele rotatie in 3D. Je weet de startlocatie, de richting (ZW) en de lengte van de cirkelboog (10km). Die laatste is makkelijk om te zetten naar radialen als je de straal van de aarde weet, en dan heb je de rotatiehoek. Aan de hand van de startlocatie en het feit dat je naar het zuidwesten moet kun je de rotatie-as bepalen. Als je dat allemaal uitschrijft, kom je in feite op dezelfde formule als DrClaw in "[ALG] coordinaten x kilometer verder", een post die voor het gemak maar even door iedereen genegeerd wordt ;)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Eris
  • Registratie: December 2003
  • Laatst online: 20-05 14:56

Eris

-

Ik heb het ooit uit gerekend wat het verschil zal zijn via de elisiodie van WGS 84 en de bol. Het schild op een afstand van 5000 nm niet meer dan een halve mijl. Dus op een afstand van 100 km zal het relatief naukeurig genoeg zijn.

Voor koersen en verheden kan je of rekeken met een grootcirkel wat in theorie de korste afstand is. Maar op een afstand van weer 50 km of nog minder maakt het niet uit of je met een loxodroom werkt wat tot gevolg hebt voor een eenvoudige berekeningen.

Wikipedia: Loxodroom voor de formules.

Het is niet meer dan een steling van pytagoras + vergrotende breedte formule.

Acties:
  • 0 Henk 'm!

Anoniem: 60780

matthijsln schreef op zondag 26 juli 2009 @ 13:08:
ZW lijkt me 225 graden, niet 235 toch?


[...]


Volgens mij zo'n 2,8 km uit de buurt...


Daarna weer terug naar Lat/Lon levert op 53.2576276239916 en 5.8974602760008 :)
Ik heb jou coördinaten eens in http://www.movable-type.co.uk/scripts/latlong.html gestopt om de afstand tussen OP's startcoördinaat en jou eindcoördinaat uit te rekenen, kom ik inderdaad op bijna 10km. Als ik mijn eindcoördinaat invul, kom ik ook 2.8 km te kort.

Merkwaardig.

* Anoniem: 60780 snapt het effekes niet meer :)

[ Voor 13% gewijzigd door Anoniem: 60780 op 26-07-2009 20:03 ]


Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 12:05
matthijsln schreef op zondag 26 juli 2009 @ 13:30:
[...]


WGS 84, en dat klopt indd misschien niet als ik deze link lees... In 10km zal dit niet zoveel uitmaken maar misschien bij een langere afstand wel. Misschien dat met PostGIS ook wel de juiste projectie kan worden gebruikt.
De max afstand wordt 15 km, ik weet niet of dat helpt :)
DrClaw schreef op zaterdag 25 juli 2009 @ 21:38:
I felt lucky and googled: http://www.movable-type.co.uk/scripts/latlong.html

jij wilt het formuletje implementeren wat staat bij: Destination point given distance and bearing from start point
TY, ik zal eens kijken.

[ Voor 24% gewijzigd door ZpAz op 27-07-2009 15:50 ]

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 12:05
Bij de bovenstaande gequote link heb ik het letterlijk van de site gekopieerd (moest het omzetten naar C, maar kreeg daar 'vreemde' resultaten, wat blijkt bij de JS krijg ik exact dezelfde resultaten, dit lijkt me toch niet te kloppen?)

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script type="text/javascript">
var lat1 = 53.323971;
var lon1 = 6.001320;
var d = 15;
var R = 6367.4491;
var brng = 135;

var lat2 = Math.asin( Math.sin(lat1)*Math.cos(d/R) + 
                      Math.cos(lat1)*Math.sin(d/R)*Math.cos(brng) );
var lon2 = lon1 + Math.atan2(Math.sin(brng)*Math.sin(d/R)*Math.cos(lat1), 
                             Math.cos(d/R)-Math.sin(lat1)*Math.sin(lat2));
                             
                             
console.log("--- Lat: " + lat1 + " long: " + lon1);
console.log("+++ Lat: " + lat2 + " long: " + lon2);
</script>

De resultaten van deze log zijn:
--- Lat: 53.323971 long: 6.00132
+++ Lat: 0.08545062462870454 long: 6.001111064961521
De tweede uitkomst is 'schijnbaar' logisch, maar omdat de eerste uitkomst lijkt me al voor geen kant klopt, zal de tweede dit ook niet doen.

Bij hele grootte getallen (a 50.000 km) gaat de 53.xxx net naar de 54.xxxx terwijl hij dan een ander getal zou moeten geven lijkt me zo.

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03:24

.oisyn

Moderator Devschuur®

Demotivational Speaker

De standaard math functies rekenen met radialen, niet met graden. Je moet dus alles heen en weer converteren: latitude, longitude en bearing eerst omzetten naar radialen door te vermenigvuldigen met pi/180, en de uitkomst (lat2, lon2) weer terugconverteren naar graden.

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function todeg(x) { return x*180/Math.PI; }
function torad(x) { return x*Math.PI/180; }


var lat1 = torad(53.323971); 
var lon1 = torad(6.001320); 
var d = 15; 
var R = 6367.4491; 
var brng = torad(135);

var lat2 = Math.asin( Math.sin(lat1)*Math.cos(d/R) +  
                      Math.cos(lat1)*Math.sin(d/R)*Math.cos(brng) ); 
var lon2 = lon1 + Math.atan2(Math.sin(brng)*Math.sin(d/R)*Math.cos(lat1),  
                             Math.cos(d/R)-Math.sin(lat1)*Math.sin(lat2)); 
                              
                              
console.log("--- Lat: " + todeg(lat1) + " long: " + todeg(lon1)); 
console.log("+++ Lat: " + todeg(lat2) + " long: " + todeg(lon2));

--- Lat: 53.32397099999999 long: 6.001319999999999
+++ Lat: 53.22842388960935 long: 6.160752840895966

:)

[ Voor 134% gewijzigd door .oisyn op 27-07-2009 18:45 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 12:05
135 is de graden, of bedoel je dat ik juist radialen in moet vullen.

Het antwoord met jou verandering brengt niet veel teweeg:
--- Lat: 53.323971 long: 6.00132
+++ Lat: 0.08476974834952791 long: 6.001111076810786

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03:24

.oisyn

Moderator Devschuur®

Demotivational Speaker

Ik had m'n post al geedit (ik had 'm nog snel getypt voor ik naar huis ging, onderweg op de fiets had ik even een "duh!" moment :P). De coordinaten moet je natuurlijk óók converteren naar/van radialen. Als je mijn code overneemt dan krijg je gewoon wat je verwacht (althans, ik heb niet geverifieerd of de antwoorden ook echt kloppen, maar ze zijn iig niet overduidelijk fout)

[ Voor 66% gewijzigd door .oisyn op 27-07-2009 19:31 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

Anoniem: 60780

.oisyn schreef op maandag 27 juli 2009 @ 19:21:
Ik had m'n post al geedit (ik had 'm nog snel getypt voor ik naar huis ging, onderweg op de fiets had ik even een "duh!" moment :P). De coordinaten moet je natuurlijk óók converteren naar/van radialen. Als je mijn code overneemt dan krijg je gewoon wat je verwacht (althans, ik heb niet geverifieerd of de antwoorden ook echt kloppen, maar ze zijn iig niet overduidelijk fout)
Jou coördinaten liggen ten zuid-oosten t.o.v. het startpunt, heb je dat expres gedaan?

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03:24

.oisyn

Moderator Devschuur®

Demotivational Speaker

Nee ik heb gewoon de 135 uit de post van ZpAz overgenomen. Dat moet idd 225 zijn.

.edit: Volgens mij klopt het wel aardig

[ Voor 66% gewijzigd door .oisyn op 27-07-2009 21:34 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 12:05
Voor mij moest het idd zuidoosten ipv zuidwesten zijn, vandaar :)

Maar bedankt, nu kan ik weer verder met mijn applicatie!

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 12:05
Schaamteloze kick, met nieuwe vragen.

Okee, allereerst om verwarring te voorkomen, ik zocht de coordinaten in het NoordOosten (45 graden) en ZuidWesten (225 graden) (zie mijn afbeeldingen).

Nu verwachte ik een beetje een 'vierkant' terug te krijgen op google map, zie ook het plaatje, maar nu krijg ik een rechthoek terug? Klopt er iets niet met de formule, of heb ik nou gewoon iets verkeerds.

Als ik een windstreken rondje er bij pak, krijg ik wel netjes een vierkantje tussen NO en ZW.

Afbeeldingslocatie: http://overig.indev.nl/uploads/windstreek.png

In dit voorbeeld werden de coordinaten vanuit Doezum berekent (het dorpje ongeveer in het midden)

En een google maps met vierkantje: http://overig.indev.nl/uploads/mapsstreek.png

Ik zocht eigenlijk een 4kant, want nu valt er dus een stuk in het westen en oosten weg. Is dit op te lossen?

Alvast bedankt!

[ Voor 7% gewijzigd door ZpAz op 15-08-2009 13:34 ]

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • doskabouter
  • Registratie: Oktober 2004
  • Laatst online: 18:29
Dat komt waarschijnlijk omdat google het ook weer projecteerd en daarmee vervormt. Als je een vierkant wil in google dan is het misschien wel makkelijker om je lat/long om te rekenen naar google coordinaten en dan met soscastoa je vierkant te berekenen

Het grote voordeel van windows is dat je meer dos-boxen kan openen


Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 12:05
Erm, sorry, maar ik begrijp niet helemaal wat je bedoelt, heeft google andere coordinaten dan Latitude en Longtitude? Aangezien ze wel de 'from' lat en to 'lat begrijpen. (Mijn hele systeem is gebasseerd op long/lat).

Zoals ik al eerder in dit topic zei, Wiskunde, ik bak er niets van. Ik snap dan ook niet hoe ik met Soscastoa* kan uitrekenen hoe het een vierkant moet worden?

*Ja, ik moest opzoeken wat dat betekende

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • doskabouter
  • Registratie: Oktober 2004
  • Laatst online: 18:29
Even voor de duidelijkheid (voor ik formules op ga graven) :je wil op de google kaart een vierkant hebben, en je bent je ervan bewust dat het in werkelijkheid een trapezium is?

Het grote voordeel van windows is dat je meer dos-boxen kan openen


Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 12:05
De traperzium komt toch door de bolling van de aarde zeg maar? Maar het lijkt me niet dat dat zo erg beinvloed wordt, omdat het allemaal toch binnen nederland is. Op zo'n 'kleine' schaal zal dat dus niet uitmaken (met een max van 50 km).

Dus ja, een vierkant @ google maps vind ik prima :)

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • doskabouter
  • Registratie: Oktober 2004
  • Laatst online: 18:29
Dit is de formule om van lat/long naar google maps coordinaten te gaan:

X = 6378137*Long*pi/180
Y = 6378137*ln(tan(pi/4+Lat*pi/180/2))

Dit is de formule om van google maps coordinaten naar lat/long te gaan:

Lat = ( 2*ArcTan(exp(Y/6378137))-pi/2 ) /pi*180;
Long = X/6378137/pi*180

Stappen die je moet doen:
Eerst omrekenen van je startcoordinaat (Lat/Long) (middelpunt van je vierkant) naar google coordinaten, dan krijg je een X,Y

De linkeronderhoek van je vierkant (LoX,LoY) word LoX=X-afstand/2*sqrt(2), LoY=Y-afstand/2*sqrt(2)
De rechterbovenhoek van je vierkant (RbX,RbY) word RbX=X+afstand/2*sqrt(2), RbY=Y+afstand/2*sqrt(2)

dan LoX,LoY omrekenen naar lat/long, en RbX,RbY omrekenen naar lat/long.

Dit zou volgens mij een perfect vierkant moeten worden.

P.S. Het kan wat technisch/wiskundig overkomen, en het kan zijn dat de functies net wat anders heten, maar als je het niet snapt dan kan ik het wel wat verder uitleggen

Het grote voordeel van windows is dat je meer dos-boxen kan openen

Pagina: 1