pi_93212300
Ik ben bezig met een onderzoek naar het het reisgedrag van werknemers van een aantal bedrijven en parkeerfaciliteiten in de regio Rotterdam. Daarvoor zijn zo'n 5600 enquŕtes afgenomen. EÚn van de vragen vroeg naar op welke postcode (het betreft een 6 positie postcode) de respondent woonachtig is. Aangezien ik de postcodes (ook 6 posities) van de bedrijven ken waar de enquŕtes zijn afgenomen is het daarmee mogelijk om te bepalen welke afstand respondenten afgelegd hebben om hun werk te bereiken.

Aangezien ik niet over (peperdure) GIS-software beschik ben ik op zoek naar een manier om de hemelsbrede afstand te bepalen tussen de postcode waar de respondent woonachtig is en de postcode van het bedrijf waar de respondent werkzaam is. Weet iemand hoe ik dit het beste aan kan pakken? Of heeft iemand dit al eens eerder gedaan? Ik kan programmeren in Java dus als er wat software geschreven moet worden is dat geen probleem. :)
pi_93212630
quote:
Ja, daar had ik ook al aan gedacht. Maar ik zie het niet zitten om dat voor 5600 reacties te doen. Ik zoek dus naar een manier waarop ik het kan automatiseren. Ik moet toegeven dat ik mij nog niet echt in de materie verdiept heb, maar misschien zijn er wel hele handig tips die mij veel zoekwerk kunnen besparen, vandaar dit topic.
pi_93212830
Is het niet mogelijk om via een script en deze op google maps te laten lopen en de afstand hemelsbreed te laten bepalen?
pi_93212838
Beter is het om de volgende keer een vraag vooraf te bedenken en niet achteraf toe te voegen ;)

Verder kun je zelf een script maken die de postcodes aanbied aan een website (tenzij je een database vind) en het teruggegeven getal toevoegt aan de database. Dat is echt niet zo zwaar voor iemand die handig is met dat soort dingen.
  woensdag 23 februari 2011 @ 18:52:40 #6
291799 TwenteFC
Red is the color.
pi_93212863
quote:
1s.gif Op woensdag 23 februari 2011 18:51 schreef Brembo het volgende:
Is het niet mogelijk om via een script en deze op google maps te laten lopen en de afstand hemelsbreed te laten bepalen?
Is heel goed mogelijk ja, ik heb via deze manier ook een dealerlocator gemaakt.
  woensdag 23 februari 2011 @ 21:04:33 #7
68576 eleusis
can I get a hit of your weed?
pi_93220975
Google Directions API? http://code.google.com/apis/maps/documentation/directions/

Zowel tijd als afstand zit in de output zo te zien:
1
2
3
4
5
6
7
8
9
        "duration": {
          "value": 19,
          "text": "1 min"
        },
[...]
        "distance": {
          "value": 207,
          "text": "0.1 mi"
        }
Ik in een aantal worden omschreven: Ondernemend | Moedig | Stout | Lief | Positief | Intu´tief | Communicatief | Humor | Creatief | Spontaan | Open | Sociaal | Vrolijk | Organisator | Pro-actief | Meedenkend | Levensgenieter | Spiritueel
pi_93221562
Dat ziet er goed uit eleusis (en anderen), ik ga er mee aan de slag. Thnx.
pi_93221749
quote:
1s.gif Op woensdag 23 februari 2011 18:52 schreef grindfreakje het volgende:
Beter is het om de volgende keer een vraag vooraf te bedenken en niet achteraf toe te voegen ;)
Maar dan zit je met het probleem dat mensen zelf afstanden moeten gaan schatten, hoe betrouwbaar is dat? Hoewel dat natuurlijk wel belangrijk is voor hun reisgedrag, maar ook daar hebben we naar gevraagd overigens (zowel in tijd al in afstand). :Y

[ Bericht 1% gewijzigd door Bolkesteijn op 23-02-2011 21:21:47 ]
pi_93223902
Via Google Maps API is het makkelijkst, maar dan heb je niet je antwoord hemelsbreed...
  woensdag 23 februari 2011 @ 21:47:22 #11
68576 eleusis
can I get a hit of your weed?
pi_93224248
Waarom zou je het hemelsbreed willen weten? Om de (maatschappelijke) kosten van vervoer te bepalen is de reisafstand van belang.

Anyway, hemelsbreed kan ook via die API bepalen omdat je ook de co÷rdinaten van de punten terugkrijgt.
Ik in een aantal worden omschreven: Ondernemend | Moedig | Stout | Lief | Positief | Intu´tief | Communicatief | Humor | Creatief | Spontaan | Open | Sociaal | Vrolijk | Organisator | Pro-actief | Meedenkend | Levensgenieter | Spiritueel
  woensdag 23 februari 2011 @ 21:52:23 #12
44920 TallMan
Permanent brain failure
pi_93224622
Bent wel 3 dagen bezig met je requests
quote:
Use of the Google Directions API is subject to a query limit of 2,500 directions requests per day. Individual directions requests may contain up to 8 intermediate waypoints in the request. Google Maps Premier customers may query up to 100,000 directions requests per day, with up to 23 waypoints allowed in each request.
geheelonthouder met geheugenverlies
Mensen die zeggen dat domme vragen niet bestaan stellen ze zelf.
pi_93225035
quote:
1s.gif Op woensdag 23 februari 2011 21:42 schreef Hiya het volgende:
Via Google Maps API is het makkelijkst, maar dan heb je niet je antwoord hemelsbreed...
Dat hoeft ook niet, maar hemelsbreed leek ons verreweg het eenvoudigst, maar als een echte route kan is dat natuurlijk beter ook al weten we niet zeker welke route iemand werkelijk neemt. :Y

quote:
3s.gif Op woensdag 23 februari 2011 21:52 schreef TallMan het volgende:
Bent wel 3 dagen bezig met je requests
We hebben op zich tijd zat, dus dat is geen probleem.
pi_94081058
Ik heb het volgende bedacht :) :
- Responsie ID en bijbehorende postcodes in tekstbestand.
- Tekstbestand inlezen in array (Responsie ID, postcode) en een array aanmaken voor de afstand.
- Postcode in rij i uit postcode-array lezen en de afstand over de weg bepalen met de Google Maps API.
- Antwoord van de Google Maps API toevoegen in rij i in het afstand array.
- Inhoud array schrijven naar een tekstbestand.

Het punt is nu dat ik alleen ervaring heb met Java. Maar volgens mij werkt de Google Maps API met JavaScript. Nu lijkt dat natuurlijk wel op Java, maar met Javascript kan ik geen tekstbestand inlezen of schrijven volgens mij. Voor nu is het doel dat ik dat data over de afstanden kan verkrijgen. Het doel is in tweede instantie is dat ik er een soort gebruiksvriendelijk applicatie (mag browser gebaseerd zijn) van kan maken zodat ook andere onderzoekers bij onze afdeling er gebruik van kunnen maken. Hoe kan ik dit nu het beste aanpakken? Kan ik het best in Java schrijven of in Java-script?
  maandag 14 maart 2011 @ 15:34:39 #15
58834 Catbert
The evil HR Director.
pi_94096043
Die API is gewoon een website die aan de hand van een query een response teruggeeft, je kunt zelfs zelf kiezen in welk formaat (JSON, XML, CSV geloof ik). Heeft niks met JS te maken.

quote:
3s.gif Op woensdag 23 februari 2011 21:52 schreef TallMan het volgende:
Bent wel 3 dagen bezig met je requests
Heb zelf een keer een scraper gemaakt voor postcode.nl. Na iets van 100 requests was ons IP (van ons bedrijf dus) afgesloten voor 24 uur :D
"[...] a large number of the teenagers claiming Asperger's are, in fact, merely dicks."
pi_94099300
Allebei de postcodes geocoden en dan de afstand berekenen, of denk ik nu te simpel?
pi_94145625
Je kan met het verschil tussen de x en y co÷rdinaten de afstand bepalen.

De afstand tussen de x co÷rdinaten verschilt, op de evenaar is de afstand groter tussen twee lengte graden dan op de noordpool. De y coordinaat is een stuk makkelijker. Er zitter er 360 rondom dus een y graad is altijd (de omtrek van de aarde) / 360.

Oftewel in php:

1
2
3
4
5
6
7
<?php
function graden2metersY ($degrees) {
    
$dy 40076592 * ($degrees 360); 
    
    return 
$dy;
}
?>

Om nu de x meters te bereken zul je dus ook de y coordinaat moeten ingeven:

1
2
3
4
5
6
7
<?php
function graden2metersX ($degrees$ycoor) {
    
$dx cos($ycoor 360 3.14) * 40076592 * ($degrees 360);
    
    return 
$dx;
}
?>

Nu weet je de x + y afstand, stelling van Pythagoras is dan de hemelsbrede afstand.

1
2
3
<?php
$distance 
sqrt(($xdistance $xdistance) + ($ydistance $ydistance));
?>
  dinsdag 15 maart 2011 @ 16:35:42 #18
58834 Catbert
The evil HR Director.
pi_94147551
Hij heeft de long/lat coordinaten niet, en als je daarvoor naar google gaat kun je net zo goed google meteen de afstand laten berekenen :)
"[...] a large number of the teenagers claiming Asperger's are, in fact, merely dicks."
pi_94147929
quote:
1s.gif Op maandag 14 maart 2011 05:18 schreef Bolkesteijn het volgende:
Ik heb het volgende bedacht :) :
- Responsie ID en bijbehorende postcodes in tekstbestand.
- Tekstbestand inlezen in array (Responsie ID, postcode) en een array aanmaken voor de afstand.
- Postcode in rij i uit postcode-array lezen en de afstand over de weg bepalen met de Google Maps API.
- Antwoord van de Google Maps API toevoegen in rij i in het afstand array.
- Inhoud array schrijven naar een tekstbestand.

Het punt is nu dat ik alleen ervaring heb met Java. Maar volgens mij werkt de Google Maps API met JavaScript. Nu lijkt dat natuurlijk wel op Java, maar met Javascript kan ik geen tekstbestand inlezen of schrijven volgens mij. Voor nu is het doel dat ik dat data over de afstanden kan verkrijgen. Het doel is in tweede instantie is dat ik er een soort gebruiksvriendelijk applicatie (mag browser gebaseerd zijn) van kan maken zodat ook andere onderzoekers bij onze afdeling er gebruik van kunnen maken. Hoe kan ik dit nu het beste aanpakken? Kan ik het best in Java schrijven of in Java-script?
Waarom uberhaupt al die locaties zelf opslaan? Je kunt ze toch ook ook per request ophalen uit die Google Maps API?
pi_94149883
quote:
1s.gif Op maandag 14 maart 2011 15:34 schreef Catbert het volgende:
Die API is gewoon een website die aan de hand van een query een response teruggeeft, je kunt zelfs zelf kiezen in welk formaat (JSON, XML, CSV geloof ik). Heeft niks met JS te maken.
Aha, dat scheelt, dan kan ik het gewoon in Java doen dus.

quote:
Heb zelf een keer een scraper gemaakt voor postcode.nl. Na iets van 100 requests was ons IP (van ons bedrijf dus) afgesloten voor 24 uur :D
Herkenbaar. Ik had een keer van Google Maps een satellietfoto van de hele Randstad geplukt op een vrij gedetailleerd niveau. Toen kon ik een dag niet op Google Maps. ;)

quote:
1s.gif Op dinsdag 15 maart 2011 15:55 schreef Ralphmeister het volgende:
Je kan met het verschil tussen de x en y co÷rdinaten de afstand bepalen.

De afstand tussen de x co÷rdinaten verschilt, op de evenaar is de afstand groter tussen twee lengte graden dan op de noordpool. De y coordinaat is een stuk makkelijker. Er zitter er 360 rondom dus een y graad is altijd (de omtrek van de aarde) / 360.
Daar had ik ook al aan zitten denken in eerste instantie, maar inderdaad wat Catbert als zegt ik heb geen gegevens van lengte/breedte positie, dus dan kan ik net zo goed gelijk de afstand van Google Maps halen. Bedankt voor je uitgebreide reactie in ieder geval.

quote:
1s.gif Op dinsdag 15 maart 2011 16:45 schreef KomtTijd... het volgende:
Waarom uberhaupt al die locaties zelf opslaan? Je kunt ze toch ook ook per request ophalen uit die Google Maps API?
Ja, dat is ook zo. ;) Ik programmeer nauwelijks dus het zal geen hoogstand programma in termen van efficiency worden.
  dinsdag 15 maart 2011 @ 17:38:28 #21
58834 Catbert
The evil HR Director.
pi_94150244
quote:
1s.gif Op dinsdag 15 maart 2011 16:45 schreef KomtTijd... het volgende:
Waarom uberhaupt al die locaties zelf opslaan? Je kunt ze toch ook ook per request ophalen uit die Google Maps API?
Beetje afhankelijk of je het bij gaat houden kwa requests / sec. Je kunt er maar een paar per seonde doen, anders word je afgesloten.
"[...] a large number of the teenagers claiming Asperger's are, in fact, merely dicks."

Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')