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("点不在多边形范围内")
	}
}
相关推荐
咖啡の猫3 小时前
Python字典推导式
开发语言·python
leiming63 小时前
C++ vector容器
开发语言·c++·算法
掘金码甲哥4 小时前
🚀糟糕,我实现的k8s informer好像是依托答辩
后端
SystickInt4 小时前
C语言 strcpy和memcpy 异同/区别
c语言·开发语言
GoGeekBaird4 小时前
Andrej Karpathy:2025年大模型发展总结
后端·github
CS Beginner4 小时前
【C语言】windows下编译mingw版本的glew库
c语言·开发语言·windows
uzong4 小时前
听一听技术面试官的心路历程:他们也会有瓶颈,也会表现不如人意
后端
Jimmy4 小时前
年终总结 - 2025 故事集
前端·后端·程序员
FJW0208144 小时前
Python_work4
开发语言·python
大学生资源网5 小时前
java毕业设计之儿童福利院管理系统的设计与实现(源码+)
java·开发语言·spring boot·mysql·毕业设计·源码·课程设计