android 求区域内坐标(经纬度)的问题。。。

android 已知有N个坐标(经纬度),现在求坐标(x,y(经纬度))在半径不超过X米并且在N个坐标(经纬度)中有那些坐标(经纬度)点???

我问这个问题有2个点想知道

  1. 2个坐标(经纬度)怎么求距离

  2. 难道每次求,都要遍历N个坐标算一次距离吗?

0

2个回答

求两个坐标之间距离

Location对象带和距离相关的方法,求两个坐标距离: public static void distanceBetween (double startLatitude, double startLongitude, double endLatitude, double endLongitude, float[] results)

Parameters
startLatitude   the starting latitude
startLongitude  the starting longitude
endLatitude the ending latitude
endLongitude    the ending longitude
results an array of floats to hold the results

详细解释见这里: distanceBetween(double, double, double, double, float[])

在大量坐标之间找最近距离的坐标

如果你用Mongodb,获取最近的坐标很简单,Mongodb自带geoNearCommand,可以参照这里:GeospatialIndexing-geoNearCommand

> db.runCommand( { geoNear : "places" , near : [50,50], num : 10 } );
> db.runCommand({geoNear:"asdf", near:[50,50]})
{
        "ns" : "test.places",
        "near" : "1100110000001111110000001111110000001111110000001111",
        "results" : [
                {
                        "dis" : 69.29646421910687,
                        "obj" : {
                                "_id" : ObjectId("4b8bd6b93b83c574d8760280"),
                                "y" : [
                                        1,
                                        1
                                ],
                                "category" : "Coffee"
                        }
                },
                {
                        "dis" : 69.29646421910687,
                        "obj" : {
                                "_id" : ObjectId("4b8bd6b03b83c574d876027f"),
                                "y" : [
                                        1,
                                        1
                                ]
                        }
                }
        ],
        "stats" : {
                "time" : 0,
                "btreelocs" : 1,
                "btreelocs" : 1,
                "nscanned" : 2,
                "nscanned" : 2,
                "objectsLoaded" : 2,
                "objectsLoaded" : 2,
                "avgDistance" : 69.29646421910687
        },
        "ok" : 1
}

PS. 这里有很多计算GEO距离相关的公式:http://www.movable-type.co.uk/scripts/latlong.html

1
KPRF2009
KPRF2009 非常感谢!!!
6 年多之前 回复

我回答你的第一个问题。在两个纬度和经度坐标之间使用Location类中distanceBetween静态方法:

import android.Location;

float[] results = new float[3];
Location.distanceBetween(xLatitude, xLongitude, yLatitude, yLongitude, results);
float distanceInMeters = results[0];

对于你的第二个问题,我不明白什么意思,可以重写编辑一下吗?

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
在Android里如何判断一个指定的经纬度点是否落在一个多边形区域内
在lbs开发中,可能要碰到这样的问题,如何判断一个指定的经纬度点是否落在一个多边形区域内,比如我在地图上画了一个多边形区域,然后给出一个经纬度点,怎样判断这个点是否在这个多边形范围之内,由于我用的是android平台上的高德地图,官网找了很久都没有找到,貌似是没有这个方法,如果有哪位发现了,请给我留言。但是在百度地图的api上我发现了有这个方法来判断,http://wiki.lbsyun.baid
高德地图 根据经纬度计算面积和判断一个点是否在圈内
高德地图 1,根据经纬度计算面积 2,判断一个点是否在圈内
JAVA判断一个地理坐标是否在一个多边形区域内和是否在一个圆形区域内(经纬度)
怎么样判断一个坐标点在一个多边形区域内?包括规则多边形,不规则多边形,还有圆。。。1 判断一个坐标是否在圆形区域内?多边形和圆分开写,首先简单的就是判断是否在圆里面,如何判断一个坐标是否在圆形区域内,相信不用我说都知道,计算这个坐标点和圆心之间的距离,然后跟圆的半径进行比较,如果比半径大,就不在圆形区域内,如果小于等于圆的半径,则该坐标点在圆形区域内。数学上的计算公式是这样的:涉及到代码就很简单了...
安卓开发高德地图判断经纬度是否在多边形范围内
核心代码   百度SDK自带判断经纬度是否在多边形范围内,  高德地图IOS提供,但是安卓不提供. 我是百度判断点是否在范围内拷入高德里面,算法一样 没想到可以, 目前项目上在使用, 欢迎大家指出问题 (不喜勿喷) private boolean miSpatialRelationUtil;public static boolean isPolygonContainsPointmi(List&lt...
判断点或者坐标是否在不规则区域内
判断点或者坐标是否在不规则区域内
GIS算法——点是否在指定区域内
GIS算法——点是否在指定区域内 代码: GPoint = record X: Double; //经度,也使用于任何座标 Y: Double; //纬度 end; GRange = array of GPoint; 函数返回true 点为在区域内 function GPointInPolygonX(P: GPoint; L: GRange): Boolea...
判断指定的经纬度坐标点是否落在指定的多边形区域内
描述: 在矢量多边形区域中,一个坐标点的位置是否在区域内 算法: C#代码,适用于任意多边形(凹凸多边形),但是没有考虑实际误差范围的情况(应用在实际问题解决中,接近区域一定范围是可以忽略的,这个误差范围考虑后算法的复杂度会加倍,所以没有做这方面的考虑)
android关于高德地图判断点是否在某一个区域内
这段时间 , 项目里需要做关于导航功能 ,但是在导航前需要判断当前起点是否在一个不规则区域内 。虽然后台会把所有范围坐标返回给我, 但是对于我来说还是毫无头绪 。于是就开始在高德文档中慢慢寻找 ,但是需要在那么多的类中找到实现自己功能的代码确实有些难度。 于是就上百度 , 百度上确实有许多方法 , 比如从起点发出一条直线穿过 不规则区域 ,用于多规则区域的交点来判断 是否在区域内 。 嗯 ,想法确...
java判断百度地图的点是否在多边形区域内
java判断百度地图的点是否在多边形区域内,这是完整的demo
C#判断地图坐标点是否在坐标组范围内
C#判断指定的坐标点(经纬度)是否在指定的区域内!地图坐标点判断(经纬度判断)
判断一个坐标点是否在多边形区域范围内
判断一个坐标点是否在多边形区域范围内。可直接使用。 用来做地图经纬度 判断一个点是否在一个多边形范围内很合适 代码简洁 不到100行代码
百度地图根据经纬度判断点是否在行政区内
有时候我们需要通过经纬度判断点是否在行政区内,这个问题的解答分为3步。1.获取点的坐标,这些一般来自于系统的自动抓取,主要记录事件发生的地理位置。这可能涉及不同坐标系的转换。2.获取行政区多边形信息,可利用百度地图API,用以下脚本<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org...
关于指定的经纬度是否落在多边形内
这个想法就是判断一个点向左的射线跟一个多边形的交叉点有几个,如果结果为奇数的话那么说明这个点落在多边形中,反之则不在。直接贴代码吧 A: B: C: D: package com.cmcc.monitor.test; public class GisTest { public static void main(String[] args) {
如何判断一个指定的位置点坐标(GPS上的经纬度)是否落在一个多边形区域内?
业务场景举例:快递选择收获区域、车辆电子围栏、运动轨迹路线、地理位置信息检测范围和地图等过滤等等。比方说地图上有一块区域(抽象成多边形),然后里面每一个位置点(像素点)都有对应的GPS的经纬度坐标值,题目要求的就是判断任意点(用户输入的信息)与多边形的位置关系(是否在里面还是在图形区域外面)。具体有一个需求为:每一个店维护多个可配送的地址,配送地址为地图中的多边形区域,用户选择收货地址的时候需要判...
java后台判断经纬度是否在某个区域内
1、主要类,包含判断点是否在区域内、是否在直线上、是否有横断。 package com.bdMap.isIntersect; import java.util.ArrayList; public class Point { /** * 是否有 横断 参数为四个点的坐标 * * @param px1 * @param py1 * @param px2 * @pa
Javascript判断两个点(经纬度)的距离,以及是否在某个区域内(经纬度字符串)
来自:http://www.cnblogs.com/wjf0/p/9928522.html JS计算两个点(经纬度)的距离 function getGreatCircleDistance(lat1, lng1, lat2, lng2) { var EARTH_RADIUS = 6378137.0; var PI = Math.PI; function getRad...
判断一个指定的经纬坐标是否落在一个多边形区域内?
Python: def IsPtInPoly(aLon, aLat, pointList): ''' :param aLon: double 经度 :param aLat: double 纬度 :param pointList: list [(lon, lat)...] 点的顺序需根据顺时针或逆时针,不能乱 ''' iSum = 0
ios判断某个坐标是否在某块区域内方法
实现有两种方法, //第一种是直接创建某一个区域,然后在判断是否在区域内,这种方法适合于任何图形         CGMutablePathRef pathRef = CGPathCreateMutable();         CGPathMoveToPoint(pathRef, NULL, p.x-itemWidth/2, p.y);         CGPathAddLine
拥有正方形经纬度中心点、正方形边长,如何计算正方形范围内最大最小经纬度?...
假设我们拥有了一个栅格边长为5米的栅格的中心点经纬度坐标,如何计算栅格的最大最小经纬度呢? 1)首先,需要把经纬度转化为mercator米坐标: 1 class Geometry(_x: Double, _y: Double) { 2 def x: Double = _x 3 4 def y: Double = _y 5 } 6 7 ...
判断一个点是否在某个区域内。百度,高德,腾讯都能用。(php版)
判断一个点是否在某个区域内。百度,高德,腾讯都能用。
判断经纬度点坐标是否在经纬度点所组成的面内
maven的pom配置 <dependency> <groupId>com.vividsolutions</groupId> <artifactId>jts</artifactId> <version>1.13</version> </dependency>
已知一点坐标和经纬度求其它经纬度坐标或相应坐标经纬度
已知一点坐标和经纬度求其它经纬度坐标或相应坐标经纬度,里面是将坐标与经纬度相互转换的代码: 将坐标转化成相应的经纬度 传入起点经纬度,和终点经纬度,返回终点经纬度 直接复制整个代码运行即可,注:需修改LngLat str2为测试的起点,具体的使用方法查看main方法
百度地图——判断一个点是否在一个区域内?
       由于目前的一个项目涉及离线地图,经过查找资料论证,最终还是决定采用百度地图。在项目过程中,遇到一个比较实际的问题:怎么判断地图上的一个点(经纬坐标下)在一个多边形区域内?      由于我采用的是百度地图JavaScript API v2.0接口,同时由于要做的是离线地图,百度地图离线版有一些功能函数是不能用的。针对上述问题,在网上查资料发现,百度的BMapLib.GeoUtils里...
《Android开发偶遇有趣算法问题》---获得地图方圆r米内的一个随机坐标点(求单位圆内随机点)
实际解决问题 高德地图,百度地图求方圆五米内的一个随机经纬度 方案一 随机产生(x,y) x2∗y2≤R2x^{2}*y^{2} \le R^{2}x2∗y2≤R2 去除不在圆内的点 public LatLng getRandomLatLng(LatLng point) { Random random = new Random(); double cirx = point.lati...
在高德地图上用手指画一块区域,并判断坐标是否再改区域内
由于时间原因,我就不修改了 ,直接把代码和布局贴上来,里面有一些不相干的东西,你们凑合着看吧 我讲一下思路: 直接在地图上触摸是不行的,它会默认拖动地图. 所以在布局上搞一个帧布局,下面市地图,上面是一个透明的button,没有画区域时 是GON的,点击画区域按钮后设置为可见, 这样你在这个button上画,就可以通过ontouch方法来得到一系列的屏幕上的点,通过projection 把这
判断一个坐标点是否在一个无规则的多边形内 (iOS定位服务与地图应用开发:高德地图开发)
m 目录[-] 1 定位服务判断一个坐标点是否在一个无规则的多边形内2 系统地图设置地图区域平移地图,上下左右判断某一个坐标点是否在当前地图区域内在地图上添加标注在地图上绘制线条和多边形 由于博客迁移至www.coderyi.com,文章请看http://www.coderyi.com/archives/419 之前工作在一家智能设备的公司,做过一个亲友定位
Java类判断百度地图上某点是否在多边形区域内
功能需求:订单分类(将每笔订单按照所在区域分类),故根据订单收货地址的经纬度来判断订单所在的商业区 import java.awt.geom.Point2D; import java.util.ArrayList; import java.util.List; /** * 根据订单的经纬度归属所在的商业区域 * @author lee * @date: 2017年2月6日 下午2:12:
PHP判断点是否在多边形区域内外
小谢博客原文地址https://xgs888.top/post/view?id=79 PHP判断点是否在多边形区域内外;根据数学知识的射线法, 射线与几何多边形相交的点的个数为奇数则是在几何内部; 偶数在外部; /**  * Created by PhpStorm.  * function: inArea  * Description: 判断点是否在多边形区域内  * 
利用百度地图采集大量某一区域经纬度信息
先在一定范围内生成经纬度随机数,再丢给百度地图反解析地址,正则匹配返回内容,作出判断,如果是我们的目标区域,则存入数据库(我主要是采集朝阳区内的经纬度信息,以下代码中我把省份等其他信息也拿下来了,第一次写博文,好紧张)<?php include_once "Connection.php"; include_once "autoload.php"; header("Content-type: te
mysql 判断点是否在指定多边形区域内
本文将介绍使用mysql判断点是否在指定多边形区域内的方法,提供完整流程。
高德地图面积计算公式
高德地图面积计算公式 判断一个点是否在圈范围内 java代码 1,根据不规则图形的边界经纬度获取这个封闭图形围成的面积     高德面积测量网址: https://lbs.amap.com/api/javascript-api/example/mouse-operate-map/measure-area/ 高德坐标拾取网址:https://lbs.amap.com/console/sho...
Android获取经纬度,计算距离,方位角
最近在Android上做GPS的东西,获取经纬度、计算距离、方位角,感觉在搞GIS样。当然,玩笑了,玩玩而已,稍微总结一下。 经度指示南北方向,纵向。 纬度指示东西方向,横向. 获取经纬度          使用GPS权限:     &amp;lt;uses-permission android:name=&quot;android.permission.ACCESS_FINE_LOCATION&quot;&amp;...
计算地图坐标是否在多边形内
1.使用百度地图计算 请参考: http://api.map.baidu.com/library/GeoUtils/1.2/examples/simple.html http://api.map.baidu.com/library/GeoUtils/1.2/docs/symbols/BMapLib.GeoUtils.html     2.使用java计算   import ja...
地图上获取坐标是否在指定区域内,区域外点计算距离区域的最短距离
坐标是否在指定区域坐标内 数学模型中,射线法求取射线与多边形交点个数来判断点是否在多边形内,交点为奇数时在多边形内,偶数在多边形外 判断几种特殊情况,点为多边形上顶点,点在多边形边上,射线与多边形交点是多边形的顶点(多边形的每一个顶点其实是相邻两条线段的端点,所以顶点可以算两个点) /** * 给定点和多边形,判断给定的点是否在多边形内 * @param point * @para...
如何判断一个指定的经纬度点是否落在一个多边形区域内?
一、背景:  如何判断一个指定的经纬度点是否落在一个多边形区域内?二、实现代码(delphi) CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->Type  TMyPoint = packed record  
给定坐标点,判断是否在某区域范围内 地理围栏算法
地图平台:leaflet 语言:js index.html Leaflet 快速开始指南示例 var map = L.map('map').setView([24, 110], 5); L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{
Android 根据经纬度计算方位角
在网上搜索到了很多都计算的不正确,如下代码已经证实。代码如下:public static double getAngle(double lon1, double lat1, double lon2, double lat2) { double fLat = Math.PI * (lat1) / 180.0; ...
高德地图---已知两点经纬度坐标求距离和角度
计算两个坐标点之间的距离function calcDistance(lonA,latA,lonB,latB) { var earthR = 6371000; var x = Math.cos(latA * Math.PI / 180.) * Math.cos(latB * Math.PI / 180.) * Math.cos((lonA - lonB) * Math.PI / 180
java实现经纬度坐标是否在范围内的算法
需求是:一个点(经纬度)是否在一个多边形内部,多边形有多个点构成,每个点是一个实际的经纬度坐标,有多个点构成一个多边形, 算法数学上实现思路: 判断一个点是在一个多边形内部的集中情况 第一:目标点在多边形的某一个顶点上,我们认为目标点在多边形内部 第二:目标点在多边形的任意一天边上,我们认为目标点在多边形内部 第三:这种情况就比较复杂了,不在某天边上,也不和任何一个顶点重合.这时候就需
Android-依据两点间经纬度坐标,计算两点间距离
Android-根据两点间经纬度坐标,计算两点间距离 private static final double EARTH_RADIUS = 6378137; private static double rad(double d) { return d * Math.PI / 180.0; } /** * 根据两点间经纬度坐标(double值),计算两点间距离,
文章热词 设计制作学习 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 区块链问题 大数据专业教育的问题