判断一个经纬度是否落在一个指定的区域范围内有多种实现方式比如:调用地图API,Path2D 包和射线法等多种方式,这里用的是Path2D 包来实现 ,这是它的api文档Path2D-api

/** * 使用Path2D创建一个多边形* @param polygon 经纬度 集合* @return 返回Path2D.Double*/
private static Path2D.Double create(List<ScopeRequest> polygon) {//创建path2D对象Path2D.Double generalPath = new Path2D.Double();//获取第一个起点经纬度的坐标ScopeRequest first = polygon.get(0);//通过移动到以double精度指定的指定坐标,把第一个起点添加到路径中generalPath.moveTo(first.getLongitude(), first.getLatitude());//把集合中的第一个点删除防止重复添加polygon.remove(0);//循环集合里剩下的所有经纬度坐标for (ScopeRequest d : polygon) {//通过从当前坐标绘制直线到以double精度指定的新指定坐标,将路径添加到路径。//从第一个点开始,不断往后绘制经纬度点 generalPath.lineTo(d.getLongitude(), d.getLatitude());}// 最后要多边形进行封闭,起点及终点generalPath.lineTo(first.getLongitude(), first.getLatitude());//将直线绘制回最后一个 moveTo的坐标来关闭当前子路径。generalPath.closePath();return generalPath;}
/*** 判断点是否在区域内* @param polygon  区域经纬度json字符串* @param longitude 经度* @param latitude  纬度* @return 返回true跟false*/public static boolean isPoint(String polygon, double longitude, double latitude) {JSONArray jsonArray = JSON.parseArray(polygon);//将json转换成对象List<ScopeRequest> list = JSON.parseArray(jsonArray.toJSONString(), ScopeRequest.class);Path2D path2D = create(list);//true如果指定的坐标在Shape边界内; 否则为false 。return path2D.contains(longitude, latitude);}
public class ScopeRequest {private Double longitude;private Double latitude;public ScopeRequest(){}public ScopeRequest(Double longitude,Double latitude){this.longitude = longitude;this.latitude = latitude;}}

Java判断经纬度点是否落在指定的区域范围内?相关推荐

  1. python经纬度是否在范围内_如何判断一个经纬度是否落在一个指定的区域范围内?...

    /** * 使用Path2D创建一个多边形 * @param polygon 经纬度 集合 * @return 返回Path2D.Double */ private static Path2D.Dou ...

  2. Android判断当前系统时间是否在指定时间的范围内(免消息打扰)

    参考网址:https://www.cnblogs.com/zhangminghan/p/5632346.html import android.text.format.Time;public clas ...

  3. Java判断经纬度点是否在给定区域内

    1.经纬度类 package com.example.demo.util;import lombok.AllArgsConstructor; import lombok.Builder; import ...

  4. java 判断经纬度_Java中根据经纬度来判断距离

    web项目常用的就是用户点击某些商家列表时需要根据距离返回商家列表,最近的放在最前面,这里推荐使用现成的工具类和流来处理. 谷歌有专门的Jar包,先导入包 com.google.guava guava ...

  5. java判断经纬度是否在扇形内_地理坐标是用经度

    地理坐标是用经度.纬度表示地面点位置的球面坐标. 一.地球及其经纬线 (一)地球的基本知识 地球是一个球体,地球的球心叫地心.地球又是不停地转动的,转动的轴线叫地轴,地球的这种绕轴旋转称为自转. 1. ...

  6. java判断经纬度是否在扇形内_地图学复习 (题) (带答案)

    三地图学单项选择题 1.组成地图的主体部分是:(B ) A.数学要素 B.图形要素 C.辅助要素 D.补充说明 2.若球面上一微圆,投影后仍是一等大微圆,则该投影的变形性质为: ( A ) A.等角投 ...

  7. php if语句等于不等于0,java判断long不等于0

    java判断long不等于0 [2021-02-01 13:28:29]  简介: php不等于符号输入的方法:1.可以使用BASIC.PASCIC类语言的不等于符号[<>]:2.可以使用 ...

  8. android 经纬度的范围内,在Android里如何判断一个指定的经纬度点是否落在一个多边形区域内...

    在lbs开发中,可能要碰到这样的问题,如何判断一个指定的经纬度点是否落在一个多边形区域内,比如我在地图上画了一个多边形区域,然后给出一个经纬度点,怎样判断这个点是否在这个多边形范围之内,由于我用的是a ...

  9. 在Android里如何判断一个指定的经纬度点是否落在一个多边形区域内

    在lbs开发中,可能要碰到这样的问题,如何判断一个指定的经纬度点是否落在一个多边形区域内,比如我在地图上画了一个多边形区域,然后给出一个经纬度点,怎样判断这个点是否在这个多边形范围之内,由于我用的是a ...

最新文章

  1. http 错误 404.0 - not found_python3从零学习-5.10.8、http.client—HTTP 协议客户端
  2. 到底是什么特征影响着CNN的性能?
  3. java args例子_Spring AOP中使用args表达式的方法示例
  4. HTML5语义化标签综合基础案例,HTML5语义化标签综合案例
  5. 28.特性trait.rs
  6. 自动图片轮播php源码,js实现自动图片轮播代码
  7. IntelliJ IDEA配置Groovy教程
  8. David Marr-《视觉计算理论》-思想总结
  9. 总结个人关于雷达样式的见解(脉内脉间调制)
  10. 复合函数求导经典例题_复合函数求导公式大全_复合函数求导法则_复合函数求导经典例题_复合函数求导导学案...
  11. java 获取某一日期的0点0分0秒和23点59分59秒
  12. linux网络本地发送lo性能,LINUX网络性能之管理工具三剑客
  13. 【荔枝派zero】usb虚拟串口实现
  14. hdu 5234 Happy birthday
  15. MATLAB App Designer入门实战(一)
  16. lineage os android 9,LineageOS 16.0 发布,基于 Android 9
  17. Python—docx 批量生成 docx 文件
  18. Pivotal中国研发中心总经理冯雷受邀参加2017金融证券行业大数据高峰论坛
  19. Java 独门绝技 用Java玩谷歌小恐龙游戏 (有源码)
  20. Selenium2学习笔记

热门文章

  1. android区域统计,安卓版WPS教程:内置函数跨表求和统计区域销量
  2. 【 老站的收录问题的解决】(笔记)
  3. 关于移植MT7601Uusb无线网卡(小度wifi,360随身WIFI 2代)的后续
  4. 实景三维模型色彩差异大,用模方与DasViewer直接对模型调色
  5. 从头撸JavaScript--对象篇
  6. ArcGIS中ArcMap导入mxd地图文档文件出现红色感叹号、地图空白的解决
  7. PJzhang:查看你的微信、QQ、新浪微博都授权给过谁
  8. ASP.NET MVC网站使用新浪微博账号登录
  9. 黑白琴键 java_在黑白琴键的世界里,学钢琴的意义是什么?
  10. 【LeetCode】动态规划入门(专项打卡21天合集)