Ruby on rails Haversine gem : convert calculated distance to km
I'm working on a task that calculate the distance between two gps points and I want to convert the distance to KM :
def distances
site = Site.find params[ :id ]
stores = Store.current
distances =
stores.map do |store|
distance = Haversine.distance(site.address.latitude, site.address.longitude, store.address.latitude, store.address.longitude)
distances << {
name: store.name,
value: distance
}
end
render json: {
distances: distances.to_json
}
end
example of calculated item :
store2 : 5527.654499076738
in the doc of haversine gem there is a method to convert : distance.to_kilometers but it doesn't work for me ! any help ?
ruby-on-rails ruby gps haversine
|
show 2 more comments
I'm working on a task that calculate the distance between two gps points and I want to convert the distance to KM :
def distances
site = Site.find params[ :id ]
stores = Store.current
distances =
stores.map do |store|
distance = Haversine.distance(site.address.latitude, site.address.longitude, store.address.latitude, store.address.longitude)
distances << {
name: store.name,
value: distance
}
end
render json: {
distances: distances.to_json
}
end
example of calculated item :
store2 : 5527.654499076738
in the doc of haversine gem there is a method to convert : distance.to_kilometers but it doesn't work for me ! any help ?
ruby-on-rails ruby gps haversine
in which unit you're are getting the distance right now?
– Sikandar Tariq
Nov 14 '18 at 11:31
it's Haversine::Distance unit
– noun7
Nov 14 '18 at 11:43
how is it not working for you? What's it doing instead? Can you show how you tried calling it?
– Simple Lime
Nov 14 '18 at 11:50
hi @SimpleLime : like that : distance = Haversine.distance(site.address.latitude, site.address.longitude, store.address.latitude, store.address.longitude).to_kilometers
– noun7
Nov 14 '18 at 11:52
1
the distance variable should be Haversine::Distance as class type , but when checked it it's on Float < Numeric !
– noun7
Nov 14 '18 at 11:54
|
show 2 more comments
I'm working on a task that calculate the distance between two gps points and I want to convert the distance to KM :
def distances
site = Site.find params[ :id ]
stores = Store.current
distances =
stores.map do |store|
distance = Haversine.distance(site.address.latitude, site.address.longitude, store.address.latitude, store.address.longitude)
distances << {
name: store.name,
value: distance
}
end
render json: {
distances: distances.to_json
}
end
example of calculated item :
store2 : 5527.654499076738
in the doc of haversine gem there is a method to convert : distance.to_kilometers but it doesn't work for me ! any help ?
ruby-on-rails ruby gps haversine
I'm working on a task that calculate the distance between two gps points and I want to convert the distance to KM :
def distances
site = Site.find params[ :id ]
stores = Store.current
distances =
stores.map do |store|
distance = Haversine.distance(site.address.latitude, site.address.longitude, store.address.latitude, store.address.longitude)
distances << {
name: store.name,
value: distance
}
end
render json: {
distances: distances.to_json
}
end
example of calculated item :
store2 : 5527.654499076738
in the doc of haversine gem there is a method to convert : distance.to_kilometers but it doesn't work for me ! any help ?
ruby-on-rails ruby gps haversine
ruby-on-rails ruby gps haversine
asked Nov 14 '18 at 11:25
noun7noun7
71110
71110
in which unit you're are getting the distance right now?
– Sikandar Tariq
Nov 14 '18 at 11:31
it's Haversine::Distance unit
– noun7
Nov 14 '18 at 11:43
how is it not working for you? What's it doing instead? Can you show how you tried calling it?
– Simple Lime
Nov 14 '18 at 11:50
hi @SimpleLime : like that : distance = Haversine.distance(site.address.latitude, site.address.longitude, store.address.latitude, store.address.longitude).to_kilometers
– noun7
Nov 14 '18 at 11:52
1
the distance variable should be Haversine::Distance as class type , but when checked it it's on Float < Numeric !
– noun7
Nov 14 '18 at 11:54
|
show 2 more comments
in which unit you're are getting the distance right now?
– Sikandar Tariq
Nov 14 '18 at 11:31
it's Haversine::Distance unit
– noun7
Nov 14 '18 at 11:43
how is it not working for you? What's it doing instead? Can you show how you tried calling it?
– Simple Lime
Nov 14 '18 at 11:50
hi @SimpleLime : like that : distance = Haversine.distance(site.address.latitude, site.address.longitude, store.address.latitude, store.address.longitude).to_kilometers
– noun7
Nov 14 '18 at 11:52
1
the distance variable should be Haversine::Distance as class type , but when checked it it's on Float < Numeric !
– noun7
Nov 14 '18 at 11:54
in which unit you're are getting the distance right now?
– Sikandar Tariq
Nov 14 '18 at 11:31
in which unit you're are getting the distance right now?
– Sikandar Tariq
Nov 14 '18 at 11:31
it's Haversine::Distance unit
– noun7
Nov 14 '18 at 11:43
it's Haversine::Distance unit
– noun7
Nov 14 '18 at 11:43
how is it not working for you? What's it doing instead? Can you show how you tried calling it?
– Simple Lime
Nov 14 '18 at 11:50
how is it not working for you? What's it doing instead? Can you show how you tried calling it?
– Simple Lime
Nov 14 '18 at 11:50
hi @SimpleLime : like that : distance = Haversine.distance(site.address.latitude, site.address.longitude, store.address.latitude, store.address.longitude).to_kilometers
– noun7
Nov 14 '18 at 11:52
hi @SimpleLime : like that : distance = Haversine.distance(site.address.latitude, site.address.longitude, store.address.latitude, store.address.longitude).to_kilometers
– noun7
Nov 14 '18 at 11:52
1
1
the distance variable should be Haversine::Distance as class type , but when checked it it's on Float < Numeric !
– noun7
Nov 14 '18 at 11:54
the distance variable should be Haversine::Distance as class type , but when checked it it's on Float < Numeric !
– noun7
Nov 14 '18 at 11:54
|
show 2 more comments
1 Answer
1
active
oldest
votes
You probably need to call the to_kilometers
method on the resulting Haversine::Distance
otherwise its to_s
method will be used:
def distances
site = Site.find params[ :id ]
distances = Store.current.map do |store|
{
name: store.name,
value: Haversine.distance(
site.address.latitude,
site.address.longitude,
store.address.latitude,
store.address.longitude
).to_kilometers
}
end
render json: {
distances: distances
}
end
What you'll really want to do though is add a distance_in_km
to your Address
class...
in the gem documentation i found .to_kilometers method exist but that not work, it show an undefined method error
– noun7
Nov 14 '18 at 13:41
Have you forgotten torequire 'haversine'
?
– eikes
Nov 14 '18 at 16:05
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53299110%2fruby-on-rails-haversine-gem-convert-calculated-distance-to-km%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You probably need to call the to_kilometers
method on the resulting Haversine::Distance
otherwise its to_s
method will be used:
def distances
site = Site.find params[ :id ]
distances = Store.current.map do |store|
{
name: store.name,
value: Haversine.distance(
site.address.latitude,
site.address.longitude,
store.address.latitude,
store.address.longitude
).to_kilometers
}
end
render json: {
distances: distances
}
end
What you'll really want to do though is add a distance_in_km
to your Address
class...
in the gem documentation i found .to_kilometers method exist but that not work, it show an undefined method error
– noun7
Nov 14 '18 at 13:41
Have you forgotten torequire 'haversine'
?
– eikes
Nov 14 '18 at 16:05
add a comment |
You probably need to call the to_kilometers
method on the resulting Haversine::Distance
otherwise its to_s
method will be used:
def distances
site = Site.find params[ :id ]
distances = Store.current.map do |store|
{
name: store.name,
value: Haversine.distance(
site.address.latitude,
site.address.longitude,
store.address.latitude,
store.address.longitude
).to_kilometers
}
end
render json: {
distances: distances
}
end
What you'll really want to do though is add a distance_in_km
to your Address
class...
in the gem documentation i found .to_kilometers method exist but that not work, it show an undefined method error
– noun7
Nov 14 '18 at 13:41
Have you forgotten torequire 'haversine'
?
– eikes
Nov 14 '18 at 16:05
add a comment |
You probably need to call the to_kilometers
method on the resulting Haversine::Distance
otherwise its to_s
method will be used:
def distances
site = Site.find params[ :id ]
distances = Store.current.map do |store|
{
name: store.name,
value: Haversine.distance(
site.address.latitude,
site.address.longitude,
store.address.latitude,
store.address.longitude
).to_kilometers
}
end
render json: {
distances: distances
}
end
What you'll really want to do though is add a distance_in_km
to your Address
class...
You probably need to call the to_kilometers
method on the resulting Haversine::Distance
otherwise its to_s
method will be used:
def distances
site = Site.find params[ :id ]
distances = Store.current.map do |store|
{
name: store.name,
value: Haversine.distance(
site.address.latitude,
site.address.longitude,
store.address.latitude,
store.address.longitude
).to_kilometers
}
end
render json: {
distances: distances
}
end
What you'll really want to do though is add a distance_in_km
to your Address
class...
edited Nov 14 '18 at 12:55
answered Nov 14 '18 at 12:49
eikeseikes
2,26412018
2,26412018
in the gem documentation i found .to_kilometers method exist but that not work, it show an undefined method error
– noun7
Nov 14 '18 at 13:41
Have you forgotten torequire 'haversine'
?
– eikes
Nov 14 '18 at 16:05
add a comment |
in the gem documentation i found .to_kilometers method exist but that not work, it show an undefined method error
– noun7
Nov 14 '18 at 13:41
Have you forgotten torequire 'haversine'
?
– eikes
Nov 14 '18 at 16:05
in the gem documentation i found .to_kilometers method exist but that not work, it show an undefined method error
– noun7
Nov 14 '18 at 13:41
in the gem documentation i found .to_kilometers method exist but that not work, it show an undefined method error
– noun7
Nov 14 '18 at 13:41
Have you forgotten to
require 'haversine'
?– eikes
Nov 14 '18 at 16:05
Have you forgotten to
require 'haversine'
?– eikes
Nov 14 '18 at 16:05
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53299110%2fruby-on-rails-haversine-gem-convert-calculated-distance-to-km%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
in which unit you're are getting the distance right now?
– Sikandar Tariq
Nov 14 '18 at 11:31
it's Haversine::Distance unit
– noun7
Nov 14 '18 at 11:43
how is it not working for you? What's it doing instead? Can you show how you tried calling it?
– Simple Lime
Nov 14 '18 at 11:50
hi @SimpleLime : like that : distance = Haversine.distance(site.address.latitude, site.address.longitude, store.address.latitude, store.address.longitude).to_kilometers
– noun7
Nov 14 '18 at 11:52
1
the distance variable should be Haversine::Distance as class type , but when checked it it's on Float < Numeric !
– noun7
Nov 14 '18 at 11:54