From 73e4d775a359b5490b5ebc1465f1b9d682a3bbe5 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期四, 07 十一月 2019 19:56:09 +0800
Subject: [PATCH] Merge branch 'module' of http://192.168.5.5:10010/r/ruleprocess into module

---
 ruleserver/geoPolygon.go |   30 +++++++++++++++++++++++++-----
 1 files changed, 25 insertions(+), 5 deletions(-)

diff --git a/ruleserver/geoPolygon.go b/ruleserver/geoPolygon.go
index bfe8efe..6f64108 100644
--- a/ruleserver/geoPolygon.go
+++ b/ruleserver/geoPolygon.go
@@ -20,10 +20,30 @@
 	return num1
 }
 
+//Point 鍧愭爣鐐�
+type Point struct {
+	X float64 `json:"x"`
+	Y float64 `json:"y"`
+}
+
+//Rect 妫�娴嬬洰鏍�
+type Rect struct {
+	X      float64
+	Y      float64
+	Width  float64
+	Height float64
+}
+
+//Pointfloat 鍧愭爣鐐�
+type Pointfloat struct {
+	X float64 `json:"x"`
+	Y float64 `json:"y"`
+}
+
 //PintIsInPolygon 鍒ゆ柇鐐规槸鍚﹀湪澶氳竟褰㈠唴閮�
 //point涓鸿鍒ゆ柇鐨勫潗鏍囩偣
 //polygon鏄杈瑰舰鍚勭偣鏁扮粍
-func pintIsInPolygon(point structure.Pointfloat, polygon []structure.Point, widthScale float64, heightScale float64) bool {
+func pintIsInPolygon(point Pointfloat, polygon []Point, widthScale float64, heightScale float64) bool {
 	var nCross int = 0
 	for i := 0; i < len(polygon); i++ {
 
@@ -56,14 +76,14 @@
 func getLocation(rect structure.Rect, n int) ([]structure.Pointfloat, float64) {
 	xArr := make([]float64, n) // 鐢ㄥ垏鐗囦笉鐢ㄦ暟缁勶紝鏁扮粍涓嶈兘鐢ㄥ彉閲忓畾涔夐暱搴�
 	yArr := make([]float64, n)
-	pointArr := make([]structure.Pointfloat, 0, n*n)
+	pointArr := make([]Pointfloat, 0, n*n)
 	for i := 0; i < n; i++ {
 		xArr[i] = rect.X + (rect.Width/float64(2*n))*float64(2*i+1)
 		yArr[i] = rect.Y + (rect.Height/float64(2*n))*float64(2*i+1)
 	}
 	for i := 0; i < n; i++ {
 		for j := 0; j < n; j++ {
-			point := structure.Pointfloat{X: xArr[i], Y: yArr[j]}
+			point := Pointfloat{X: xArr[i], Y: yArr[j]}
 			pointArr = append(pointArr, point)
 		}
 	}
@@ -72,7 +92,7 @@
 }
 
 //ComputePolygonArea 璁$畻浠绘剰澶氳竟褰㈤潰绉�
-func computePolygonArea(polygon []structure.Point) float64 {
+func computePolygonArea(polygon []Point) float64 {
 	pointNum := len(polygon)
 	var s float64 = 0
 	if pointNum < 3 {
@@ -86,7 +106,7 @@
 }
 
 //PgsInterPercent calculate percent of two polygon intersection  璁$畻涓や釜澶氳竟褰㈢殑閲嶅彔鍗犳瘮
-func PgsInterPercent(pgpts []structure.Point, box structure.Rect, widthScale float64, heightScale float64) (percent float64) {
+func PgsInterPercent(pgpts []Point, box structure.Rect, widthScale float64, heightScale float64) (percent float64) {
 
 	areapts, areaBox := getLocation(box, 10)
 	var count = 0

--
Gitblit v1.8.0