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("点不在多边形范围内")
	}
}
相关推荐
向葭奔赴♡6 分钟前
Spring IOC/DI 与 MVC 从入门到实战
java·开发语言
minji...10 分钟前
C++ 面向对象三大特性之一---多态
开发语言·c++
散峰而望16 分钟前
基本魔法语言函数(一)(C语言)
c语言·开发语言·编辑器·github
汤姆yu39 分钟前
基于springboot的民间救援队救助系统
java·spring boot·后端·救援队
lucky_syq1 小时前
Scala与Spark算子:大数据处理的黄金搭档
开发语言·spark·scala
IT_陈寒1 小时前
React性能优化实战:这5个Hooks技巧让我的应用快了40%
前端·人工智能·后端
封奚泽优1 小时前
使用Labelme进行图像标注
开发语言·python·labelme
wjs20241 小时前
C 标准库 - <ctype.h>
开发语言
wjs20241 小时前
AngularJS与SQL的集成使用指南
开发语言
七号练习生.c1 小时前
JavaScript基础入门
开发语言·javascript·ecmascript