golang 判断一个点是否在一个多边形内

我有一需求为:判断一个点(经纬度范围)是否在一个多边形范围内(多个经纬度点)

这里我借助几何库( github.com/paulmach/orb)来处理地理空间数据

可以通过在线获取经纬度来确认代码正确性

go 复制代码
package main

import (
	"fmt"
	"github.com/paulmach/orb"
	"github.com/paulmach/orb/planar"
)

func main() {
	// 定义多边形范围 (经纬度点的顺序很重要,需要闭合:首尾点相同)
	polygon := orb.Polygon{
		{
			{106.518314, 29.627223}, // 起始位置
			{106.519419, 29.627223},
			{106.518238, 29.626399},
			{106.519491, 29.626435},
			{106.518314, 29.627223}, // 回到起始
		},
	}
	// 目标点
	point := orb.Point{106.518907, 29.626458} // 假设是一个经纬度点

	// 判断点是否在多边形内
	if planar.PolygonContains(polygon, point) {
		fmt.Println("点在多边形范围内")
	} else {
		fmt.Println("点不在多边形范围内")
	}
}
相关推荐
2401_878467321 分钟前
社区生活超市系统|Java|SSM|JSP|
java·开发语言·学习·tomcat·maven
野蛮的大西瓜40 分钟前
Java+FreeSWITCH 开源呼叫系统详解
java·开发语言·语言模型·自然语言处理·机器人·开源·信息与通信
夜半被帅醒1 小时前
C# 开发探索与实践 第一个C#程序
开发语言·c#
湫ccc1 小时前
Python连接MySQL数据库教程
开发语言·python·mysql
精神病不行计算机不上班1 小时前
[C++]多态
开发语言·c++
liuweni1 小时前
Next.js流量教程:如何在 Next.js 中使用 React Helmet 管理 SEO Meta 标签
开发语言·javascript·经验分享·前端框架·创业创新·媒体·程序员创富
Evand J1 小时前
平方根无迹卡尔曼滤波(SR-UKF)的MATLAB例程,使用三维非线性的系统
开发语言·matlab
好奇的菜鸟2 小时前
如何为IntelliJ IDEA配置JVM参数
开发语言·后端
陌上花开࿈2 小时前
用户登录认证
java·开发语言·前端
Simon_Smith2 小时前
SpringBoot+IDEA工具框架快捷键+注解备注
spring boot·后端·intellij-idea