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("点不在多边形范围内")
	}
}
相关推荐
实心儿儿2 分钟前
C++ —— C++11(2)
开发语言·c++
开心就好20254 分钟前
苹果iOS应用开发上架与推广完整教程
后端·ios
四千岁4 分钟前
Ollama+OpenWebUI 最佳组合:本地大模型可视化交互方案
前端·javascript·后端
Carsene10 分钟前
AutoScan Spring Boot Starter v1.3.0 发布:高级过滤与环境配置新特性
spring boot·后端
程序员柒叔11 分钟前
OpenCode 一周动态-2026-W15
后端·github
星辰_mya12 分钟前
Spring Cloud服务熔断与降级
后端·spring·spring cloud
星浩AI12 分钟前
Claude Code 项目实战:多 Agent 流程编排,从原型到可运行 ChatBot
后端·claude·vibecoding
小蜜蜂dry13 分钟前
nestjs实战 - 拦截器,统一处理接口请求与响应结果
前端·后端·nestjs
胖纳特16 分钟前
业务系统深度集成:基于OnlyOffice中国版连接器实现合同生成、AI写作与报表自动化
前端·后端