标签: geographic-distance

用于存储和查询地理坐标的Python模块

是否有一个Python模块,我可以创建具有地理位置坐标(纬度和经度)的对象,并查询所有对象是否在给定坐标的5公里距离(即半径)内?

我一直试图将纬度和经度存储为字典中的键(因为它们被键索引)并使用一些距离查找算法来查询它们.但这感觉就像一个可怕的黑客.

基本上就像PostGIS for PostgreSQL,但都在我的Python应用程序的内存中.

python geolocation geospatial coordinates geographic-distance

17
推荐指数
2
解决办法
1万
查看次数

基于最短地理距离匹配数据框

我有两个数据框,它们都包含纬度和经度坐标。第一个数据帧是对事件的观察,其中记录了位置和时间。第二个数据框是地理要素,其中记录了该要素的位置和信息。

my_df_1 <- structure(list(START_LAT = c(-33.15, -35.6, -34.08333, -34.13333, 
-34.31667, -47.38333, -47.53333, -34.08333, -47.38333, -47.15
), START_LONG = c(163, 165.18333, 162.88333, 162.58333, 162.76667, 
148.98333, 148.66667, 162.9, 148.98333, 148.71667)), row.names = c(1175L, 
528L, 1328L, 870L, 672L, 707L, 506L, 981L, 756L, 210L), class = "data.frame", .Names = c("START_LAT", 
"START_LONG"))

my_df_2 <- structure(list(latitude = c(-42.7984, -34.195, -49.81, -35.417, 
-28.1487, -44.657, -42.7898, -36.245, -39.1335, -31.8482), longitude = c(179.9874, 
179.526, -176.68, 178.765, -168.0314, 174.695, -179.9873, 177.7873, 
-170.0583, 173.2424), depth_top = c(935L, 2204L, 869L, 1973L, 
4750L, …
Run Code Online (Sandbox Code Playgroud)

r spatial latitude-longitude geographic-distance

6
推荐指数
1
解决办法
623
查看次数

使用 scipy 测量地理距离

我没有使用scipy'spdist函数的结果。我对真实的地理距离感兴趣(首选单位:公里)。取以下坐标:

from scipy.spatial.distance import pdist

coordinates = [ (42.057, -71.08), (39.132, -84.5155) ]
distance = pdist(coordinates)
print distance
# [ 13.75021037]
Run Code Online (Sandbox Code Playgroud)

但是单位是什么?谷歌称这两个点之间的距离为 1179 公里。我如何从 13.75021037 到达那里?

python scipy geographic-distance

5
推荐指数
2
解决办法
5425
查看次数

.NET等效的SQL Server STDistance

我可以使用以下SQL来计算固定位置与数据库中场地的位置之间的距离.

SELECT Location.STDistance(geography::Point(51, -2, 4326)) * 0.00062137119 FROM Venues
Run Code Online (Sandbox Code Playgroud)

请注意,返回的距离以英里为单位,位置字段是地理类型.

我想知道在.NET中它的等价物会返回相同的值.此方法将具有以下签名:

public static double Distance(location1Latitude, location1Longitude, location2Latitude, location2Longitude) {
    return ...;
}
Run Code Online (Sandbox Code Playgroud)

我知道我可以在.NET中调用数据库方法,但我不希望这样做.我希望有一个计算距离的公式.谢谢

.net c# sql-server sqlgeography geographic-distance

4
推荐指数
1
解决办法
2079
查看次数

SQL 几何 VS 小数(8,6) 纬度、经度性能

我正在研究选择与给定坐标一定距离内的最近点的性能。

选项是使用两个decimal(8,6)纬度、长列或单列geography并使用它。

我只感兴趣哪个更快?

sql sql-server database-performance sqlgeography geographic-distance

4
推荐指数
1
解决办法
1309
查看次数

计算 GeoPandas 中两个 GeoDataFrame(点)之间的所有距离

这是一个非常简单的案例,但到目前为止我还没有找到任何简单的方法。这个想法是获得 a 中定义的所有点GeoDataFrame和 another 中定义的点之间的一组距离GeoDataFrame

import geopandas as gpd
import pandas as pd

# random coordinates
gdf_1 = gpd.GeoDataFrame(geometry=gpd.points_from_xy([0, 0, 0], [0, 90, 120]))
gdf_2 = gpd.GeoDataFrame(geometry=gpd.points_from_xy([0, 0], [0, -90]))
print(gdf_1)
print(gdf_2)

#  distances are calculated elementwise
print(gdf_1.distance(gdf_2))
Run Code Online (Sandbox Code Playgroud)

这会产生 ingdf_1gdf_2共享相同索引的点之间的元素距离(还有一个警告,因为两个 GeoSeries 没有相同的索引,这就是我的情况)。

                geometry
0    POINT (0.000 0.000)
1   POINT (0.000 90.000)
2  POINT (0.000 120.000)
                    geometry
0    POINT (0.00000 0.00000)
1  POINT (0.00000 -90.00000)
/home/seydoux/anaconda3/envs/chelyabinsk/lib/python3.8/site-packages/geopandas/base.py:39: UserWarning: The indices of the two GeoSeries …
Run Code Online (Sandbox Code Playgroud)

python pandas geographic-distance shapely geopandas

4
推荐指数
1
解决办法
1527
查看次数

在iOS上相对于地理北方获得俯仰,翻滚和偏航?

我看到我可以从设备中检索CMAttitude,从中我可以读取我需要的3个值(俯仰,滚动和偏航).据我了解,这个CMAttitude对象由CoreMotion管理,CoreMotion是一个传感器融合管理器,用于计算罗盘,陀螺仪和加速度计的正确结果(在Android上它是SensorManager类).

所以我的问题是:

  1. 那些值(俯仰,滚转和偏航)是相对于磁北和重力吗?

  2. 如果以上是正确的,我如何修改它以给我相对于地理北方的结果?

  3. 如果设备(例如iPhone 3GS)没有陀螺仪,我是否必须告诉管理员,或者我可以告诉它根据设备的传感器给我设备的态度(acc + gyro + compas OR acc + compas)

pitch ios core-motion geographic-distance

3
推荐指数
1
解决办法
3821
查看次数

如何从数据库中获取最近的位置条目?

我将坐标存储为我的数据库中的纬度经度对.现在,我需要从给定的lat-long坐标中检索给定半径内的所有条目.例如,如果给定坐标48.796777,2.371140和距离20公里,它将检索距离该点20公里内的所有记录.

如果它提供任何简化或导致较少的CPU时间,则足够准确地计算点之间的"直线"距离,即不需要考虑地球的曲率.

如何用Django实现这一目标?更具体地说,如何为这样的查询构建视图(可能还有模型)?

sqlite django coordinates geographic-distance

3
推荐指数
1
解决办法
3494
查看次数

在地图中绘制具有定义距离半径的圆

我能够绘制一个特定点的地图和标题:

library(maps)
map("state")
text(-80.83,35.19,"Charlotte",cex=.6)
Run Code Online (Sandbox Code Playgroud)

我还可以绘制一个围绕该点的圆圈:

symbols(-80.83,35.19,circles=2, add=TRUE)
Run Code Online (Sandbox Code Playgroud)

但是,我想控制圆的大小.特别是,我想在data.frame,matrix或list中包含的多个位置周围绘制一个半径为100英里的圆.

maps geometry r geographic-distance

2
推荐指数
1
解决办法
6144
查看次数

DBGrid - 如何将两个相邻行中的列值之间的差异显示为另一列?

假设我每分钟左右记录一下我的汽车的纬度和经度,每次都会在表格中添加一行.

我想拥有一个包含4列的数据库网格

  1. 纬度
  2. 经度
  3. 自上次测量以来的距离
  4. 如果知道的话,可以看到街道地址

4号,我可以尝试从谷歌地图中检索,我得到一个文本或空白,所以让我们忽略它.

我如何获得#3?我应该在我的应用程序或MySql中计算它(使用存储过程还是只是复杂的SELECT)?

无论哪个答案,有人可以提供一些示例代码或示例链接吗?谷歌今天不是我的朋友:-(

mysql delphi tdbgrid geographic-distance

0
推荐指数
1
解决办法
417
查看次数