检查多边形是否包含了某点(经纬度)
为什么80%的码农都做不了架构师?>>>
/*** 检查多边形是否包含了某点~多边形都是由点组成* @param px 纬度* @param py 经度* @param xD 多边形所有纬度* @param yD 多边形所有经度* @return*/
public boolean containsPoint(double px, double py,ArrayList<Double> xD,ArrayList<Double> yD) {int verticesCount = xD.size();int nCross = 0;for (int i = 0; i < verticesCount; ++ i) {double ix = xD.get(i);double iy = yD.get(i);double i1x = xD.get((i + 1) % verticesCount);double i1y = yD.get((i + 1) % verticesCount);// 求解 y=p.y 与 p1 p2 的交点if ( iy == i1y ) { // p1p2 与 y=p0.y平行continue;}if ( py < Math.min(iy, i1y) ) { // 交点在p1p2延长线上continue;}if ( py >= Math.max(iy, i1y) ) { // 交点在p1p2延长线上continue;}// 求交点的 X 坐标float x = (float) ((py - iy) * (i1x - ix)/ (i1y - iy) + ix);if ( x > px ) { // 只统计单边交点nCross++;}}// 单边交点为偶数,点在多边形之外return (nCross%2==1);
}
转载于:https://my.oschina.net/jgy/blog/491740
检查多边形是否包含了某点(经纬度)相关推荐
- pandas使用isna函数和any函数检查dataframe是否包含缺失值、整体是否有缺失值,不区分行列(check if dataframe contains any missing values
pandas使用isna函数和any函数检查dataframe是否包含缺失值.整体是否有缺失值,不区分行列(check if dataframe contains any missing values ...
- R语言stringr包str_extract函数检查数据是否包含特定模式实战
R语言stringr包str_extract函数检查数据是否包含特定模式实战 目录 R语言stringr包str_extract函数检查数据是否包含特定模式实战 #导入stringr包
- 华为CodeCraft2017算法结果检查工具(包含测试用例展示)
这个是华为CodeCraft2017算法结果检查工具(包含测试用例展示),初衷是为本人所在参赛组写一个算法结果检查和寻找问题的工具.在此跟大家分享:网站地址 先贴两张效果图: 上图:展示测试用例 上图 ...
- 如何检查字符串是否包含Ruby中的子字符串?
我有一个字符串变量,内容如下: varMessage = "hi/thsid/sdfhsjdf/dfjsd/sdjfsdn\n""/my/name/is/balaji.s ...
- 如何检查字符串是否包含特定单词?
考虑: $a = 'How are you?';if ($a contains 'are')echo 'true'; 假设我有上面的代码, if ($a contains 'are') ,写语句的正确 ...
- 【错误记录】无法打开 “xxx“ , 因为 Apple 无法检查其是否包含恶意软件
文章目录 一.报错信息 二.解决方案 一.报错信息 在 MAC 中打开自己从外部下载的应用程序 , 运行时弹出如下报错 ; 无法打开 "xxx" , 因为 Apple 无法检查其是 ...
- Java怎么查找字符串大写_在Java中,如何检查字符串是否包含子字符串(忽略大小写)?...
本问题已经有最佳答案,请猛点这里访问. 我有两个String s,str1和str2. 如何检查str1是否包含在str1中,忽略大小写? indexOf和contains都是逐个字符的,所以如果你需 ...
- 无法打开“XXXX”,因为Apple无法检查其是否包含恶意软件。怎么解决?
今天在安装navicat的时候,因为apple无法检查其是否包含恶意软件,大概是如下图所示: 仔细查询过后才发现,只需要在Mac上设置下即可,具体方法如下: 打开Mac自带的软件「终端」(一般在&qu ...
- 如何检查数组是否包含JavaScript中的对象?
In this article, we will look at various methods to check if an array includes an object in JavaScri ...
最新文章
- python matplotlib散点图-python-Matplotlib散点图图例
- 怎么写显示商品图片_shopee商品描述怎么写,shopee商品排名靠前的是
- Android——监听事件总结
- ALLyeSNO 优化版浩方 第二版 Ver 2007 06 15 清除广告 自动挤房间
- OpenCV学习笔记(九): 漫水填充:floodFill()
- 卡尔曼滤波——16.新的均值和方差
- linux下复制catalog信息指令,基於Linux下catalog方式的 Oracle 備份策略(RMAN)
- php中的str replace,PHP字符串替换str_replace()函数4种用法详解
- 人人商城小程序总是弹出“百度未授权使用地图API”的解决方法
- html注册手机号验证,js正则表达式验证手机号码,用户名和邮箱
- 基于VUE技术的超市购物系统设计答辩PPT模板
- 对数幅度谱图像matlab,fft2绘制图像的对数幅度谱,比较图像旋转平移和缩放后的频谱.doc...
- 【AI视野·今日CV 计算机视觉论文速览 第220期】Wed, 16 Jun 2021
- xampp配置虚拟主机的步骤
- html底部添加备案号,网站底部怎么放备案号 WordPress、CMS、discuz等常见程序添加方法...
- 研读 项目名-LinkMap-normal-x86_64.txt
- 深耕游戏后服务 虚贝战略再升级
- Axure RP使用技巧分享 快速提升效率
- Https单向认证和双向认证 认识和区别
- 電腦機房空調氣流設計與節能
热门文章
- 幼儿园计算机教案 妈妈的爱,幼儿园大班教案《妈妈的爱》(通用)
- python中scrapy框架_python的scrapy框架
- mqtt连接失败_Netty实战:如何让单机下Netty支持百万长连接?
- C#-获取页面源代码
- hdu1556 线段树段更新(简单题)
- 【C 语言】二级指针作为输入 ( 自定义二级指针内存 | 二级指针排序 | 通过 交换指针指向的内存数据 方式进行排序 )
- 【Android 安装包优化】Android 中使用 SVG 图片 ( SVG 矢量图简介 | Android 中生成 Vector 矢量图资源 )
- 【鸿蒙 HarmonyOS】创建 Java 语言 HarmonyOS 手机应用 ( 首次进入 DevEco Studio 配置环境 | 创建 Java 手机工程 | 鸿蒙工程代码目录简介 )
- 【组合数学】生成函数 ( 性质总结 | 重要的生成函数 ) ★
- 【设计模式】原型模式 ( 概念简介 | 使用场景 | 优缺点 | 基本用法 )