/srv/irclogs.ubuntu.com/2015/01/18/#ubuntu-nl-mwanzo.txt

Rachelleiemand verstand hoe je ruwweg een cirkel van +/- 50 km om een gps coordinate kan berekenen?16:38
CasWHoe bedoel je, 'kan berekenen'?16:39
Rachelleals ik een lat/long van stel den bosch heb.16:41
Rachelleen dan de coordiaten van ruwweg 50 km in een rondje16:42
Rachellehet is voor een zoekfunctie welke bedrijven in de DB eronder vallen.16:43
lordnoidVoor elk bedrijf de afstand berekenen, en kijken of die > or < dan 50km is16:45
Rachellewilde het dus wat beter maken ;)16:46
Rachelleik heb voor elk bedrijf de GPS coordinaten in de database staan16:46
Rachelleelk bedrijf dat op die site aangemeld is16:46
lordnoidmaar alle coordinaten in een cirkel.. dan zijn er enorm veel.. oneindig veel zelfs. Hoe gaat dat efficienter zijn?16:48
CasWTsja, het is best te doen, hoor, alle punten binnen die cirkel vinden (ten minste, de wiskundige definitie ervan; zoals lordnoid zei, het zijn er oneindig veel, je wilt ze niet allemaal gaan omschrijven of zo), maar dan moet je eerst lat en lon omrekenen naar een punt in de 3d ruimte (lat en lon converteren naar 3d poolcoordinaten) en vervolgens daarmee die cirkel berekenen.16:49
CasWIn ieder geval zal het niet veel mooier en al helemaal niet sneller zijn dan gewoon voor ieder bedrijf de afstand berekenen16:49
Rachellezover ik weet zijn GPS coordinaten toch gewoon 2 getallen?16:49
Rachellewhere lat BETWEEN ? AND ?  AND long BETWEEN ? AND ?16:50
CasWJa, maar omdat het de 2d ruimte van het oppervlak van de aarde beschrijft, is het handiger om het om te rekenen naar de punten in de 3d ruimte16:50
Rachellehet gaat alleen om NL ;) de kromming van de aarde is verwaarloosbaar16:50
lordnoidRachelle als je dat gebruikt heb je een (bijna) vierkant16:50
CasWDat beschrijft (ongeveer) een vierkantje16:50
CasWPrecies, dat dacht ik ook16:50
Rachelleeen vierkantje is voor mij ook prima. het gaat ten slotte om een ruwweg schatting van alles wat in range ligt16:51
lordnoidmaar 1,4x zo veel? :P16:51
Rachellehet gaat er meer om van hoe kom ik van iets als dit : 150703.6272133817 414029.4914345219  naar die waardes16:51
CasWJe kan dus vrij simpel omrekenen naar poolcoordinaten en dan weet je dat de afstand ongeveer de straal van de aarde maal de hoek die je met het 0-punt maakt, is16:52
CasWhttps://en.wikipedia.org/wiki/Latitude#Latitude_and_coordinate_systems16:52
CasW(Het is wat wiskundig)16:52
Rachelleja dat zie ik.  spul dat ik al ruim 10 jaar niet meer gezien heb16:52
CasWWat je desnoods ook nog kan doen, is zoeken naar hoe groot die 'vakjes' van 1 lat bij 1 lon ongeveer zijn in Nederland en dat nemen als een schatting16:53
Rachellevakjes? Ik heb nog nooit met die GPS coordinaten gewerkt he.  Ik herken ze net16:54
lordnoidhet zijn dezelfde soort coordinaten als op je landkaart of wereldbol16:54
CasWOké, latitudes zijn de 'horizontale' lijnen op de aardbol, longitudes zijn de 'verticale' lijnen op de aardbol. Omdat de aarde zo groot is, verschillen de groottes van de vakjes tussen 2 lijnen lat en 2 lijnen lon nog wel, maar als je kijkt naar alleen Nederland, verschilt dat niet zo heel erg, daar kan je dus een constante waarde aannemen zonder te veel detail te verliezen16:56
Rachelle300KM op 40.000 is tenslotte niet veel16:58
CasWNee, dat valt wel mee, dus daar kan je het wel ongeveer schatten16:59
lordnoidalleen het is wel de vraag of dit alles nou echt veel efficiënter gaat worden dan 1 simpele, constante tijd operatie op elke entry in de database :P17:00
Rachelleprobleem daarmee : deze actie hangt aan het zoekveld en er is niet te zeggen hoeveel bedrijven er uiteindelijk in de database komen17:01
lordnoidje vervangt de ene where-clause door de andere17:01
Rachelleen ik ben niet onder de indruk van die server17:01
Rachellegezien ie zelfs moeite heeft met concrete5 zonder de cache aan -_-'17:02
lordnoidje wasmachine zou 'm nog kunnen draaien :P17:02
CasWJe kan iets doen van dat je lokaal een lijst van alle coordinaten van alle bedrijven bijhoudt, en dat je daar de berekening op uitvoert, als je echt bang bent voor de prestaties van de server17:03
Rachelle" een lijst van alle coordinaten van alle bedrijven bijhoudt"  Die heb ik :)  Bij registratie zoek ik het adres op en sla dat op17:04
CasWDie heb je lokaal staan of op die sql server?17:04
Rachellein de database van de server17:04
Rachellemaar dit moet ie dus live kunnen doen17:04
Rachelleklant => zoekpagina => stad + afstand => zoeken veilingen17:04
CasWTsja, dan kan je nog steeds gewoon alle entries nemen en daarna pas de berekening uitvoeren, je kan de where-clause gebruiken (die echt niet veel tijd inneemt inderdaad) of je kan een afstandentabel bij gaan houden voor iedere stad in Nederland (die je kan kiezen)17:05
Rachellede steden zijn vrij. is gewoon een tekstveld17:06
CasWDus ik zou Ferwert in kunnen vullen, een klein dorpje in Friesland?17:06
Rachellejup17:06
CasWJa, dan valt die laatste optie af17:06
lordnoidIk heb zo'n where-clause ooit geschreven.. kan kijken of ik m nog heb.. dacht dat ik m had weggegooid17:07
Rachelleweinig kans dat ie iets vind in zo'n gat, maar het kan wel17:08
CasWwhere (lat*convertLatToKilometers*lat*convertLatToKilometers+lon*convertLonToKilometers*lon*convertLonToKilometers) < 50*50, zoiets17:09
Rachelleal snap ik niet waarom ze uberhaupt die optie erin willen hebben.  Gezien je al kan filteren op provincie17:09
lordnoidik had er een voor een cirkel gemaakt :P17:09
CasWDeze is voor een cirkel ;-)17:09
CasWx^2+y^2=r^2, heb je geen wortelfunctie nodig17:09
lordnoidhm.. maar die werkt niet overal op aarde dan17:10
lordnoidmaar goed genoeg voor Rachelle dan inderdaad17:10
CasWHm, hoezo niet? Als je de kromming van de aarde negeert wel hoor17:10
lordnoidoh.. dan lijkt ie misschien ook wel op die van mij17:11
Rachelleik denk niet dat de kromming van de aarde van belang is voor dit stukje aarde van 200X350 km17:11
lordnoidik had die formule van wikipedia wat omgegooid iig17:11
RachelleDie klanten zijn dom17:12
CasW(Ik was alleen even vergeten lat en lon te normaliseren naar die plaats op aarde, vervang lat door (lat-latVanPlaatsWaarvanJeDeAfstandWiltWeten) en lon op dezelfde manier)17:12
Rachelle" al snap ik niet waarom ze uberhaupt die optie erin willen hebben.  Gezien je al kan filteren op provincie"17:12
CasWOch, voor de grensplaatsen of zo, het is best een logische. Gebruikers willen het vaak weten.17:13
Rachelledie provincies zijn niet hardcoded op die van NL ;) Niks houd je tegen om ook duitsland en belgie erin te zetten17:16
Rachelleprovincie => id => foreign key van company tabel17:16
Rachelleik voorzie ook een ander probleem : de API staat hier => http://geodata.nationaalgeoregister.nl/17:18
RachelleFUP?17:18
Rachelleik kan me niet voorstellen dat ze zo happig zullen zijn als een populaire site daar live aan hangt17:19
lordnoidwat voor site maak je eigenlijk?17:19
Rachellebruiloft (en toebehoren) veilingen site17:20
CasWTsja, dat is je baas z'n probleem, niet het jouwe ;-) Ik zou het wel even noemen, je zorgen, maar verder hoef je je er geen zorgen over te maken17:20
Rachelleklant bedoel je CasW17:20
CasW*Klant17:20
lordnoiddenk dat ze met FUP meer bedoelen dat je niet duizenden requests aan je normale pagina's koppelt17:21
lordnoidals je een knopje maakt met "zoek waar ik ben" zal het vast niet erg zijn :)17:21
Rachellegezien die zoekpagina redelijk de main landingspagina voor de veilingen is. (a la zoekpagina van ebay)..........17:21
lordnoidah op die manier17:22
lordnoidzijn er geen open databases met al die info die je kan downloaden?17:22
Rachelleniet dat ik weet17:22
CasWEn misschien kan je zelfs om de zoveel tijd een lokale kopie maken van de database om daarop te werken17:22
lordnoidgoogle maps api doet het geloof ik ook17:25
Rachellejup maar die is daar ook niet happig op17:25
Rachelleals je die zo misbruikt17:25
Rachellehmmm dit voldoet wel. niet druk over maken :17:26
Rachellehttp://www.geodatasource.com/developers/php17:26
lordnoidik heb ooit wel zo'n postcode => coordinaten database gezien.. ze zijn er wel..17:26
Rachellegewone search => resultaten => matchen tegen GPS17:27
lordnoidRachelle ik kan later vanavond bij de server waar mijn query waarschijnlijk op staat dus die stuur ik je nog wel na17:28
lordnoidheb je een pure SQL oplossing, klinkt leuker17:28
Rachelleniet nodig lordnoid ;) maar bedankt voor het aanbod17:31
Rachellewil niet te veel tijd hieraan verdoen (botert niet zo tussen mij en die klant)17:31
Rachellemaar hoor dat vriendinlief roept voor het eten. tot straks17:31
lordnoidklant is onderdaan :P tot zo17:32
Rachelleklanten zijn irri18:49
* Rachelle geeft overheid een schop19:28
Rachelledie coordinaten wat die API terug krijgt zijn geen lat/long!19:28
lordnoidwat dan?19:31
RachelleEPSG:2899219:32
Rachelleraar systeem van de NL overheid19:32
Rachelleof te wel : onbruikbaar19:33
Rachellehmmm wellicht niet, maar geen zin in veel rekenwerk met cirkels.  Ik weet al hoe ik moet rekenen19:36
Rachelleis gewoon stelling van pietje19:41
lordnoidoh ja heb ik ook weleens gehoord dat ze een soort x/y coordinaten hanteren bij de overheid19:42
lordnoidrare mensen19:42
Rachelleuhu19:44
Rachellepublic function calcEPSGDistance($fl_latStart, $fl_longStart, $fl_latDestination, $fl_longDestination){19:44
Rachelleif( $fl_latStart > $fl_latDestination ){19:44
Rachelle$fl_lat = ($fl_latStart - $fl_latDestination);19:44
Rachelle}19:44
Rachelleelse {19:44
Rachelle$fl_lat = ($fl_latDestination - $fl_latStart);19:44
Rachelle}19:44
Rachelle19:44
Rachelleif( $fl_longStart > $fl_longDestination ){19:44
Rachelle$fl_long = ($fl_longStart  - $fl_longDestination);19:45
Rachelle}19:45
Rachelleelse {19:45
Rachelle$fl_long = ($fl_latDestination - $fl_longStart);19:45
Rachelle}19:45
Rachelle19:45
Rachelle$fl_distance = sqrt( ($fl_lat*$fl_lat) + ($fl_long*fl_long));19:45
Rachellereturn $fl_distance;19:45
Rachelle}19:45
Rachelledone19:45
Rachelletenminste.  *twijfelt*19:45
Rachellerare overheid19:46
Rachelleheb het volgens mij19:51
RachelleAmsterdam - DB19:51
Rachelle0 KM => niks, 50KM => niks, 100 KM => 3 veilingen19:51
Rachelle^_^19:53

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!