我有纬度和经度,我想从数据库中提取记录,该记录具有最近的纬度和经度,如果该距离长于指定的距离,则不检索它.
表结构:
id
latitude
longitude
place name
city
country
state
zip
sealevel
Run Code Online (Sandbox Code Playgroud) 嗨,我需要计算具有lat和long的两个点之间的距离.
我想避免任何外部API调用.
我尝试在PHP中实现Haversine公式:
这是代码:
class CoordDistance
{
public $lat_a = 0;
public $lon_a = 0;
public $lat_b = 0;
public $lon_b = 0;
public $measure_unit = 'kilometers';
public $measure_state = false;
public $measure = 0;
public $error = '';
public function DistAB()
{
$delta_lat = $this->lat_b - $this->lat_a ;
$delta_lon = $this->lon_b - $this->lon_a ;
$earth_radius = 6372.795477598;
$alpha = $delta_lat/2;
$beta = $delta_lon/2;
$a = sin(deg2rad($alpha)) * sin(deg2rad($alpha)) + cos(deg2rad($this->lat_a)) * cos(deg2rad($this->lat_b)) * sin(deg2rad($beta)) * sin(deg2rad($beta)) ;
$c = …Run Code Online (Sandbox Code Playgroud) 我可以获取相对于Android中我的Activity的根布局的View的x和y位置吗?
我目前正在使用下面的功能,但它无法正常工作.根据谷歌地图,这些坐标(从59.3293371,13.4877472到59.3225525,13.4619422)之间的距离是2.2公里,而函数返回1.6公里.如何使此功能返回正确的距离?
function getDistanceFromLatLonInKm(lat1, lon1, lat2, lon2) {
var R = 6371; // Radius of the earth in km
var dLat = deg2rad(lat2-lat1); // deg2rad below
var dLon = deg2rad(lon2-lon1);
var a =
Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) *
Math.sin(dLon/2) * Math.sin(dLon/2)
;
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c; // Distance in km
return d;
}
function deg2rad(deg) {
return deg * …Run Code Online (Sandbox Code Playgroud) 我想将DIV放在特定的坐标中?我怎么能用Javascript做到这一点?
我有一个对列表(a, b),我想matplotlib在python中作为实际的xy坐标绘制.目前,它正在制作两个图,其中列表的索引给出x坐标,第一个图的y值是a成对中的s,第二个图的y值是b成对中的s.
为了澄清,我的数据看起来像这样:li = [(a,b), (c,d), ... , (t, u)]
我想做一个只调用plt.plot()不正确的单线程.如果我不需要单行程,我可以琐碎地做:
xs = [x[0] for x in li]
ys = [x[1] for x in li]
plt.plot(xs, ys)
Run Code Online (Sandbox Code Playgroud)
感谢您的帮助!
我试图了解OpenGL坐标系.然而,一些教程说默认坐标系是左撇子(见http://www.c-sharpcorner.com/UploadFile/jeradus/OpenGLBasics11172005014307AM/OpenGLBasics.aspx),其他人说这是右手(参见http:// www .falloutsoftware.com/tutorials/gl/gl0.htm).哪个是对的?我知道我们可以通过镜像将一个转换为另一个,但我想知道默认坐标.
在Matplotlib中,制作一个传奇(example_legend()下图)并不太难,但我认为将标签放在正在绘制的曲线上是更好的风格(example_inline()如下图所示).这可能非常繁琐,因为我必须手动指定坐标,如果我重新格式化绘图,我可能需要重新定位标签.有没有办法在Matplotlib中自动生成曲线上的标签?能够以与曲线角度对应的角度定向文本的加分点.
import numpy as np
import matplotlib.pyplot as plt
def example_legend():
plt.clf()
x = np.linspace(0, 1, 101)
y1 = np.sin(x * np.pi / 2)
y2 = np.cos(x * np.pi / 2)
plt.plot(x, y1, label='sin')
plt.plot(x, y2, label='cos')
plt.legend()
Run Code Online (Sandbox Code Playgroud)

def example_inline():
plt.clf()
x = np.linspace(0, 1, 101)
y1 = np.sin(x * np.pi / 2)
y2 = np.cos(x * np.pi / 2)
plt.plot(x, y1, label='sin')
plt.plot(x, y2, label='cos')
plt.text(0.08, 0.2, 'sin')
plt.text(0.9, 0.2, 'cos')
Run Code Online (Sandbox Code Playgroud)

我有莫斯科的城市地图.我们使用一些艺术元素修改了Google地图图像,但GPS坐标和像素之间的关系保持不变.
问题:如何将GPS坐标从我们拥有的各种数据点转换为图像中的像素坐标?
理想情况下,我可以在Javascript中执行此操作,但PHP可以.
我知道在小尺度上(例如在城市尺度上)它可以做得足够简单(有必要了解哪个地理坐标有一个图像角点,然后在轴上的图片上学习地理坐标中一个像素的"价格" OX和OY分开).
但是在大尺度(国家规模)上,一个像素的"价格"将不是常数,并且将足够强烈地变化并且不能应用上述方法.
如何解决国家规模的问题?
更新:
我不使用API谷歌地图,我只有:对象的地理坐标(它们来自谷歌地图),我仍然在我的网站上有一个简单的图片*.gif,我必须在其中绘制一个相应的地理坐标点.
许多策略游戏使用六边形瓷砖.其中一个主要优点是任何瓷砖的中心与其所有相邻瓷砖之间的距离是相同的.
我想知道是否有人对将六角形瓷砖系统与传统地理系统(经度/纬度)结合起来有任何想法.我认为用六边形瓷砖覆盖地球并能够将地理坐标映射到瓷砖会很有趣.
以前有人见过远近的东西吗?
UPDATE
我正在寻找一种细分球体表面的方法,以便每个分区具有相同的表面积.理想情况下,相邻子分区的中心将是等距的.
coordinates ×10
javascript ×3
math ×2
matplotlib ×2
android ×1
charts ×1
distance ×1
geocoding ×1
google-maps ×1
haversine ×1
html ×1
mysql ×1
opengl ×1
php ×1
plot ×1
python ×1
sql ×1
tesselation ×1