Kom ihåg mig?
Home Menu

Menu


Räknja ut avstånd mellan koordinater

 
Ämnesverktyg Visningsalternativ
Oläst 2016-09-14, 17:28 #11
yakuzaemmes avatar
yakuzaemme yakuzaemme är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2012
Inlägg: 773
yakuzaemme yakuzaemme är inte uppkopplad
Mycket flitig postare
yakuzaemmes avatar
 
Reg.datum: Jun 2012
Inlägg: 773
Citat:
function Distance($p1, $p2, $p3, $p4)
{
$earthRadius = 3958;
$distance = number_format(($earthRadius * pi() * sqrt(($p1 - $p3) * ($p1 - $p3) + cos($p1 / 57.29578) * cos($p3 / 57.29578) * ($p2 - $p4) * ($p2 - $p4) ) / 180) * 1.609344, 3) + 0.040;
if($distance < 0.1) return '0.1 km';
else if($distance > 1) return number_format(($distance), 1).' mil';
else if($distance > 0.1) return number_format($distance, 1).' km';
else return $distance.' km';
}
Du får själv översätta till ASP

Alternativt om du vill hämta det direkt ur databas (och sortera etc därefter)

Citat:
SELECT places.*, ( 3959 * acos(cos(radians({$latitude})) * cos(radians(latitud)) * cos(radians(longitud) - radians({$longitude})) + sin(radians({$latitude})) * sin(radians(latitud)))) AS distance FROM places ORDER BY distance ASC
yakuzaemme är inte uppkopplad   Svara med citatSvara med citat
Oläst 2016-09-15, 13:54 #12
spyvingen spyvingen är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 245
spyvingen spyvingen är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 245
Det löste sig galant tack för all hjälp "eNamn".
spyvingen är inte uppkopplad   Svara med citatSvara med citat
Oläst 2016-09-15, 14:02 #13
spyvingen spyvingen är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 245
spyvingen spyvingen är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 245
Tack yakuzaemme men det där är typ grekiska för mig.
Koden i ASP ficvk jag ihop men blir lite räddd för sql koden
Får labba lite på sql servern och se om jag kan kan kopiera bara och ersätta $ och mina kolumnnamn
spyvingen är inte uppkopplad   Svara med citatSvara med citat
Oläst 2016-09-15, 14:17 #14
spyvingen spyvingen är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 245
spyvingen spyvingen är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 245
Citat:
Ursprungligen postat av yakuzaemme Visa inlägg
Du får själv översätta till ASP

Alternativt om du vill hämta det direkt ur databas (och sortera etc därefter)
Citat:
SELECT mytable.*, ( 3959 * acos(cos(radians(57.70853911)) * cos(radians('lat')) * cos(radians('long') - radians(11.9916889)) + sin(radians(11.9916889)) * sin(radians('lat')))) AS distance FROM mytable ORDER BY distance asc

Kollumnnamn är long och lat
Den koden ovan ger samma svar på alla rader under distance "4041.8847018190277"

Jag måste gjort nått fel kan du se vad det är?

Senast redigerad av spyvingen den 2016-09-15 klockan 14:23
spyvingen är inte uppkopplad   Svara med citatSvara med citat
Oläst 2016-09-15, 15:48 #15
jayzee jayzee är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Aug 2008
Inlägg: 1 089
jayzee jayzee är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Aug 2008
Inlägg: 1 089
Är man någorlunda modern och använder Microsoft SQL Server 2008 och uppåt kan man faktiskt få ut avstånd i km via geography datatypen.

Se svaret i mitten.
jayzee är inte uppkopplad   Svara med citatSvara med citat
Oläst 2016-09-15, 15:52 #16
yakuzaemmes avatar
yakuzaemme yakuzaemme är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2012
Inlägg: 773
yakuzaemme yakuzaemme är inte uppkopplad
Mycket flitig postare
yakuzaemmes avatar
 
Reg.datum: Jun 2012
Inlägg: 773
Citat:
Ursprungligen postat av spyvingen Visa inlägg
Kollumnnamn är long och lat
Den koden ovan ger samma svar på alla rader under distance "4041.8847018190277"

Jag måste gjort nått fel kan du se vad det är?
Du har placerat det sista värdet (latitud) fel och skrivit longitude istället.

Korrigering:

Citat:
SELECT mytable.*, ( 3959 * acos(cos(radians(57.70853911)) * cos(radians('lat')) * cos(radians('long') - radians(11.9916889)) + sin(radians(57.70853911)) * sin(radians('lat')))) AS distance FROM mytable ORDER BY distance asc
yakuzaemme är inte uppkopplad   Svara med citatSvara med citat
Oläst 2016-09-15, 15:54 #17
spyvingen spyvingen är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 245
spyvingen spyvingen är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 245
Kör MySQL
Server version: 5.7.13-log - Source distribution
spyvingen är inte uppkopplad   Svara med citatSvara med citat
Oläst 2016-09-15, 15:56 #18
spyvingen spyvingen är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 245
spyvingen spyvingen är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 245
Citat:
Ursprungligen postat av yakuzaemme Visa inlägg
Du har placerat det sista värdet (latitud) fel och skrivit longitude istället.

Korrigering:
Testade det du citerade nu och får fortfarande 4041,xxxx som svar på alla rader
spyvingen är inte uppkopplad   Svara med citatSvara med citat
Oläst 2016-09-15, 16:06 #19
yakuzaemmes avatar
yakuzaemme yakuzaemme är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2012
Inlägg: 773
yakuzaemme yakuzaemme är inte uppkopplad
Mycket flitig postare
yakuzaemmes avatar
 
Reg.datum: Jun 2012
Inlägg: 773
Citat:
Ursprungligen postat av spyvingen Visa inlägg
Testade det du citerade nu och får fortfarande 4041,xxxx som svar på alla rader
Du har fälten lat/long med citattecken, som strängar. Testa ta bort citattecken (')
yakuzaemme är inte uppkopplad   Svara med citatSvara med citat
Oläst 2016-09-15, 16:29 #20
spyvingen spyvingen är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 245
spyvingen spyvingen är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 245
Citat:
Ursprungligen postat av yakuzaemme Visa inlägg
Du har fälten lat/long med citattecken, som strängar. Testa ta bort citattecken (')
Nu fick jag till det körde med ` istället för long blev fet stil så antar att det finns i mysql

Vad är det för måttenhet är det meter eller grader på nått sätt eller hur är det?
spyvingen är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 11:00.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017