geo-types-cz 1.0.5 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -57,7 +57,8 @@ import {
57
57
  calculateDistance,
58
58
  calculateBearing,
59
59
  calculateDestination,
60
- calculatePolygonArea
60
+ calculatePolygonArea,
61
+ calculatePolygonCentroid
61
62
  } from 'geo-types-cz';
62
63
 
63
64
  // 计算两点间距离(米)
package/dist/index.d.ts CHANGED
@@ -9,7 +9,7 @@ export { Position, GeometryType, BaseGeometry, Point, LineString, Polygon, Multi
9
9
  export { FeatureType, Properties, Feature, FeatureCollection, GeoJSONObject, isFeature, isFeatureCollection, createFeature, createFeatureCollection, createCircle } from './feature';
10
10
  export { BBox2D, BBox3D, BBox, validateBBox, BoundingBox, is2DBBox, is3DBBox, createBBox2D, createBBox3D, bboxToObject, objectToBBox, unionBBox, isPositionInBBox, getBBoxCenter, calcGeometryBBox } from './bbox';
11
11
  export { Color, Style, StyledFeature, StyledFeatureCollection, LayerType, BaseLayer, VectorLayer, RasterLayer, TileLayer, Layer, MapView, MapConfig, isVectorLayer, isRasterLayer, isTileLayer, ClusterConfig } from './extensions';
12
- export { degreesToRadians, radiansToDegrees, calculateDistance, calculateBearing, calculateDestination, calculateLineLength, calculatePolygonArea, calculateGeometryBBox, calculateFeatureCollectionBBox, simplifyLineString, createBuffer, isPointInPolygon } from './utils';
12
+ export { degreesToRadians, radiansToDegrees, calculateDistance, calculateBearing, calculateDestination, calculateLineLength, calculatePolygonArea, calculateGeometryBBox, calculateFeatureCollectionBBox, simplifyLineString, createBuffer, isPointInPolygon, calculatePolygonCentroid } from './utils';
13
13
  export { getAddressByGeocoder } from "./service";
14
14
  /**
15
15
  * 使用示例:
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,KAAK,EACL,UAAU,EACV,OAAO,EACP,UAAU,EACV,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,WAAW,EACX,UAAU,EACV,OAAO,EACP,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,mBAAmB,EACnB,aAAa,EACb,uBAAuB,EACvB,YAAY,EACb,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,MAAM,EACN,MAAM,EACN,IAAI,EACJ,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EACjB,MAAM,QAAQ,CAAC;AAGhB,OAAO,EACL,KAAK,EACL,KAAK,EACL,aAAa,EACb,uBAAuB,EACvB,SAAS,EACT,SAAS,EACT,WAAW,EACX,WAAW,EACX,SAAS,EACT,KAAK,EACL,OAAO,EACP,SAAS,EACT,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACd,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,8BAA8B,EAC9B,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAIjB,OAAO,EAAC,oBAAoB,EAAC,MAAM,WAAW,CAAA;AAG9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,KAAK,EACL,UAAU,EACV,OAAO,EACP,UAAU,EACV,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,WAAW,EACX,UAAU,EACV,OAAO,EACP,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,mBAAmB,EACnB,aAAa,EACb,uBAAuB,EACvB,YAAY,EACb,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,MAAM,EACN,MAAM,EACN,IAAI,EACJ,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EACjB,MAAM,QAAQ,CAAC;AAGhB,OAAO,EACL,KAAK,EACL,KAAK,EACL,aAAa,EACb,uBAAuB,EACvB,SAAS,EACT,SAAS,EACT,WAAW,EACX,WAAW,EACX,SAAS,EACT,KAAK,EACL,OAAO,EACP,SAAS,EACT,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACd,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,8BAA8B,EAC9B,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAIjB,OAAO,EAAC,oBAAoB,EAAC,MAAM,WAAW,CAAA;AAG9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG"}
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ export { validateBBox, is2DBBox, is3DBBox, createBBox2D, createBBox3D, bboxToObj
14
14
  // 导出扩展类型
15
15
  export { LayerType, isVectorLayer, isRasterLayer, isTileLayer } from './extensions';
16
16
  // 导出工具函数
17
- export { degreesToRadians, radiansToDegrees, calculateDistance, calculateBearing, calculateDestination, calculateLineLength, calculatePolygonArea, calculateGeometryBBox, calculateFeatureCollectionBBox, simplifyLineString, createBuffer, isPointInPolygon } from './utils';
17
+ export { degreesToRadians, radiansToDegrees, calculateDistance, calculateBearing, calculateDestination, calculateLineLength, calculatePolygonArea, calculateGeometryBBox, calculateFeatureCollectionBBox, simplifyLineString, createBuffer, isPointInPolygon, calculatePolygonCentroid } from './utils';
18
18
  //导出服务函数
19
19
  export { getAddressByGeocoder } from "./service";
20
20
  /**
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,SAAS;AACT,OAAO,EAEL,YAAY,EAUZ,OAAO,EACP,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAEpB,SAAS;AACT,OAAO,EACL,WAAW,EAKX,SAAS,EACT,mBAAmB,EACnB,aAAa,EACb,uBAAuB,EACvB,YAAY,EACb,MAAM,WAAW,CAAC;AAEnB,UAAU;AACV,OAAO,EAIL,YAAY,EAEZ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EACjB,MAAM,QAAQ,CAAC;AAEhB,SAAS;AACT,OAAO,EAKL,SAAS,EAQT,aAAa,EACb,aAAa,EACb,WAAW,EAEZ,MAAM,cAAc,CAAC;AAEtB,SAAS;AACT,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,8BAA8B,EAC9B,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAGjB,QAAQ;AACR,OAAO,EAAC,oBAAoB,EAAC,MAAM,WAAW,CAAA;AAG9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,SAAS;AACT,OAAO,EAEL,YAAY,EAUZ,OAAO,EACP,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAEpB,SAAS;AACT,OAAO,EACL,WAAW,EAKX,SAAS,EACT,mBAAmB,EACnB,aAAa,EACb,uBAAuB,EACvB,YAAY,EACb,MAAM,WAAW,CAAC;AAEnB,UAAU;AACV,OAAO,EAIL,YAAY,EAEZ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EACjB,MAAM,QAAQ,CAAC;AAEhB,SAAS;AACT,OAAO,EAKL,SAAS,EAQT,aAAa,EACb,aAAa,EACb,WAAW,EAEZ,MAAM,cAAc,CAAC;AAEtB,SAAS;AACT,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,8BAA8B,EAC9B,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAGjB,QAAQ;AACR,OAAO,EAAC,oBAAoB,EAAC,MAAM,WAAW,CAAA;AAG9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG"}
package/dist/utils.d.ts CHANGED
@@ -12,6 +12,13 @@ export declare function calculateBearing(pos1: Position, pos2: Position): number
12
12
  export declare function calculateDestination(start: Position, distance: number, bearing: number): Position;
13
13
  export declare function calculateLineLength(lineString: LineString): number;
14
14
  export declare function calculatePolygonArea(polygon: Polygon): number;
15
+ /**
16
+ * 计算多边形的中心点(质心)
17
+ *
18
+ * @param coordinates 多边形坐标数组,格式为 [[[lon, lat], [lon, lat], ...]]
19
+ * @returns 中心点坐标 [lon, lat]
20
+ */
21
+ export declare function calculatePolygonCentroid(coordinates: Position[][]): Position;
15
22
  export declare function calculateGeometryBBox(geometry: Geometry): BBox;
16
23
  export declare function calculateFeatureCollectionBBox(featureCollection: FeatureCollection): BBox;
17
24
  export declare function simplifyLineString(lineString: LineString, tolerance: number): LineString;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAgB,MAAM,YAAY,CAAC;AAC1F,OAAO,EAAW,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,IAAI,EAAgB,MAAM,QAAQ,CAAC;AAQ5C,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAGD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAGD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,CAcxE;AAGD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,CAevE;AAGD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,QAAQ,CAmBV;AAGD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CASlE;AAGD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAiB7D;AAGD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAmD9D;AAGD,wBAAgB,8BAA8B,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAiBzF;AAGD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,CA6ExF;AAGD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAiBvE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAC,QAAQ,EAAE,EAAE,GAAI,OAAO,GAAG,CAAC,CAEpF"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAgB,MAAM,YAAY,CAAC;AAC1F,OAAO,EAAW,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,IAAI,EAAgB,MAAM,QAAQ,CAAC;AAQ5C,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAGD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAGD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,CAcxE;AAGD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,CAevE;AAGD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,QAAQ,CAmBV;AAGD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CASlE;AAGD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAiB7D;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,GAAG,QAAQ,CAuC7E;AAGD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAmD9D;AAGD,wBAAgB,8BAA8B,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAiBzF;AAGD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,CA6ExF;AAGD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAiBvE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAC,QAAQ,EAAE,EAAE,GAAI,OAAO,GAAG,CAAC,CAEpF"}
package/dist/utils.js CHANGED
@@ -76,6 +76,51 @@ export function calculatePolygonArea(polygon) {
76
76
  area = Math.abs(area * EARTH_RADIUS * EARTH_RADIUS / 2);
77
77
  return area;
78
78
  }
79
+ /**
80
+ * 计算多边形的中心点(质心)
81
+ *
82
+ * @param coordinates 多边形坐标数组,格式为 [[[lon, lat], [lon, lat], ...]]
83
+ * @returns 中心点坐标 [lon, lat]
84
+ */
85
+ export function calculatePolygonCentroid(coordinates) {
86
+ let x = 0;
87
+ let y = 0;
88
+ let area = 0;
89
+ // 遍历所有环(外环 + 内环孔洞)
90
+ // 算法原理:叠加所有环的带符号面积矩
91
+ // 外环通常为逆时针(正面积),内环为顺时针(负面积),直接累加即可抵消孔洞部分
92
+ for (const ring of coordinates) {
93
+ if (!ring || ring.length < 3)
94
+ continue;
95
+ for (let i = 0; i < ring.length - 1; i++) {
96
+ const p1 = ring[i];
97
+ const p2 = ring[i + 1];
98
+ const f = p1[0] * p2[1] - p2[0] * p1[1];
99
+ x += (p1[0] + p2[0]) * f;
100
+ y += (p1[1] + p2[1]) * f;
101
+ area += f * 3;
102
+ }
103
+ }
104
+ // 如果面积为0(如退化多边形或空数据),回退到计算所有点的几何中心(平均值)
105
+ if (area === 0) {
106
+ const outerRing = coordinates[0];
107
+ if (!outerRing || outerRing.length === 0)
108
+ return [0, 0];
109
+ // 移除闭合点(如果存在)以避免权重偏差
110
+ const len = outerRing.length > 1 &&
111
+ outerRing[0][0] === outerRing[outerRing.length - 1][0] &&
112
+ outerRing[0][1] === outerRing[outerRing.length - 1][1]
113
+ ? outerRing.length - 1
114
+ : outerRing.length;
115
+ let sumX = 0, sumY = 0;
116
+ for (let i = 0; i < len; i++) {
117
+ sumX += outerRing[i][0];
118
+ sumY += outerRing[i][1];
119
+ }
120
+ return [sumX / len, sumY / len];
121
+ }
122
+ return [x / area, y / area];
123
+ }
79
124
  // 计算几何对象的边界框
80
125
  export function calculateGeometryBBox(geometry) {
81
126
  let minLon = Infinity;
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAkD,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1F,OAAO,EAAQ,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,MAAM,MAAM,sBAAsB,CAAA;AAEzC,UAAU;AACV,MAAM,YAAY,GAAG,OAAO,CAAC;AAG7B,QAAQ;AACR,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;AACnC,CAAC;AAED,QAAQ;AACR,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,OAAO,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,6BAA6B;AAC7B,MAAM,UAAU,iBAAiB,CAAC,IAAc,EAAE,IAAc;IAC9D,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;IAE1B,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAE3C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACnE,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IAE1C,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEzD,OAAO,YAAY,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,WAAW;AACX,MAAM,UAAU,gBAAgB,CAAC,IAAc,EAAE,IAAc;IAC7D,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;IAE1B,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAEvC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;QAC7C,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAEzD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEjC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AACjD,CAAC;AAED,kBAAkB;AAClB,MAAM,UAAU,oBAAoB,CAClC,KAAe,EACf,QAAgB,EAChB,OAAe;IAEf,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IACzB,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAErC,MAAM,eAAe,GAAG,QAAQ,GAAG,YAAY,CAAC;IAEhD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAC1B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC;QAC5C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CACpE,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CACpC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EACnE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CACpE,CAAC;IAEF,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,SAAS;AACT,MAAM,UAAU,mBAAmB,CAAC,UAAsB;IACxD,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;IAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,WAAW,IAAI,iBAAiB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,0BAA0B;AAC1B,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;IACjD,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IAErC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAChD,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAE9B,IAAI,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,YAAY,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC;IAExD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAE,WAAyB;IACjE,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,mBAAmB;IACnB,oBAAoB;IACpB,yCAAyC;IACzC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACvB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAExD,qBAAqB;QACrB,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;YAC9B,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,SAAS,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,SAAS,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YACtB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;QAErB,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,CAAC,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,aAAa;AACb,MAAM,UAAU,qBAAqB,CAAC,QAAkB;IACtD,IAAI,MAAM,GAAG,QAAQ,CAAC;IACtB,IAAI,MAAM,GAAG,QAAQ,CAAC;IACtB,IAAI,MAAM,GAAG,CAAC,QAAQ,CAAC;IACvB,IAAI,MAAM,GAAG,CAAC,QAAQ,CAAC;IAEvB,SAAS,eAAe,CAAC,GAAa;QACpC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;QACvB,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/B,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/B,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/B,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,SAAS,kBAAkB,CAAC,MAAW;QACrC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,MAAkB,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,OAAO;YACV,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM;QACR,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY;YACf,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC9C,MAAM;QACR,KAAK,SAAS,CAAC;QACf,KAAK,iBAAiB;YACpB,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;YACpE,MAAM;QACR,KAAK,cAAc;YACjB,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CACrC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CACvD,CAAC;YACF,MAAM;QACR,KAAK,oBAAoB;YACvB,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACjC,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBACzC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YACH,MAAM;IACV,CAAC;IAED,OAAO,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,aAAa;AACb,MAAM,UAAU,8BAA8B,CAAC,iBAAoC;IACjF,IAAI,MAAM,GAAG,QAAQ,CAAC;IACtB,IAAI,MAAM,GAAG,QAAQ,CAAC;IACtB,IAAI,MAAM,GAAG,CAAC,QAAQ,CAAC;IACvB,IAAI,MAAM,GAAG,CAAC,QAAQ,CAAC;IAEvB,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3C,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACrD,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,0BAA0B;AAC1B,MAAM,UAAU,kBAAkB,CAAC,UAAsB,EAAE,SAAiB;IAC1E,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;IAE3C,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,SAAS,qBAAqB,CAAC,KAAe,EAAE,SAAmB,EAAE,OAAiB;QACpF,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACrB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC;QAC3B,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC;QAEzB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QAClB,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QAElB,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE5B,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC;QAE1B,IAAI,EAAE,EAAE,EAAE,CAAC;QAEX,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;QACV,CAAC;aAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACrB,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;QACV,CAAC;aAAM,CAAC;YACN,EAAE,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC;YACpB,EAAE,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC;QACtB,CAAC;QAED,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAClB,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAElB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,SAAS,cAAc,CAAC,MAAkB,EAAE,SAAiB;QAC3D,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACxF,IAAI,QAAQ,GAAG,WAAW,EAAE,CAAC;gBAC3B,WAAW,GAAG,QAAQ,CAAC;gBACvB,QAAQ,GAAG,CAAC,CAAC;YACf,CAAC;QACH,CAAC;QAED,IAAI,WAAW,GAAG,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YACtE,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC;YAEhE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAE1D,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,WAAW,EAAE,UAAU;KACxB,CAAC;AACJ,CAAC;AAED,kBAAkB;AAClB,MAAM,UAAU,YAAY,CAAC,QAAe,EAAE,QAAgB;IAC5D,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC;IAExC,gBAAgB;IAChB,MAAM,QAAQ,GAAG,QAAQ,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IAEnC,OAAO;QACL,IAAI,EAAE,YAAY,CAAC,OAAO;QAC1B,WAAW,EAAE,CAAC;gBACZ,CAAC,GAAG,GAAG,QAAQ,EAAE,GAAG,GAAG,QAAQ,CAAC;gBAChC,CAAC,GAAG,GAAG,QAAQ,EAAE,GAAG,GAAG,QAAQ,CAAC;gBAChC,CAAC,GAAG,GAAG,QAAQ,EAAE,GAAG,GAAG,QAAQ,CAAC;gBAChC,CAAC,GAAG,GAAG,QAAQ,EAAE,GAAG,GAAG,QAAQ,CAAC;gBAChC,CAAC,GAAG,GAAG,QAAQ,EAAE,GAAG,GAAG,QAAQ,CAAC;aACjC,CAAC;KACH,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAe,EAAE,OAAoB;IACpE,OAAO,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAChC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geo-types-cz",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "Complete TypeScript type definitions for GeoJSON and extended GIS types",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/index.ts CHANGED
@@ -96,7 +96,8 @@ export {
96
96
  calculateFeatureCollectionBBox,
97
97
  simplifyLineString,
98
98
  createBuffer,
99
- isPointInPolygon
99
+ isPointInPolygon,
100
+ calculatePolygonCentroid
100
101
  } from './utils';
101
102
 
102
103
 
package/src/utils.ts CHANGED
@@ -115,6 +115,53 @@ export function calculatePolygonArea(polygon: Polygon): number {
115
115
  return area;
116
116
  }
117
117
 
118
+ /**
119
+ * 计算多边形的中心点(质心)
120
+ *
121
+ * @param coordinates 多边形坐标数组,格式为 [[[lon, lat], [lon, lat], ...]]
122
+ * @returns 中心点坐标 [lon, lat]
123
+ */
124
+ export function calculatePolygonCentroid (coordinates: Position[][]): Position {
125
+ let x = 0;
126
+ let y = 0;
127
+ let area = 0;
128
+ // 遍历所有环(外环 + 内环孔洞)
129
+ // 算法原理:叠加所有环的带符号面积矩
130
+ // 外环通常为逆时针(正面积),内环为顺时针(负面积),直接累加即可抵消孔洞部分
131
+ for (const ring of coordinates) {
132
+ if (!ring || ring.length < 3) continue;
133
+ for (let i = 0; i < ring.length - 1; i++) {
134
+ const p1 = ring[i];
135
+ const p2 = ring[i + 1];
136
+ const f = p1[0] * p2[1] - p2[0] * p1[1];
137
+ x += (p1[0] + p2[0]) * f;
138
+ y += (p1[1] + p2[1]) * f;
139
+ area += f * 3;
140
+ }
141
+ }
142
+
143
+ // 如果面积为0(如退化多边形或空数据),回退到计算所有点的几何中心(平均值)
144
+ if (area === 0) {
145
+ const outerRing = coordinates[0];
146
+ if (!outerRing || outerRing.length === 0) return [0, 0];
147
+
148
+ // 移除闭合点(如果存在)以避免权重偏差
149
+ const len = outerRing.length > 1 &&
150
+ outerRing[0][0] === outerRing[outerRing.length-1][0] &&
151
+ outerRing[0][1] === outerRing[outerRing.length-1][1]
152
+ ? outerRing.length - 1
153
+ : outerRing.length;
154
+
155
+ let sumX = 0, sumY = 0;
156
+ for (let i = 0; i < len; i++) {
157
+ sumX += outerRing[i][0];
158
+ sumY += outerRing[i][1];
159
+ }
160
+ return [sumX / len, sumY / len];
161
+ }
162
+ return [x / area, y / area];
163
+ }
164
+
118
165
  // 计算几何对象的边界框
119
166
  export function calculateGeometryBBox(geometry: Geometry): BBox {
120
167
  let minLon = Infinity;
@@ -301,3 +348,4 @@ export function isPointInPolygon(point: Position, polygon:Position[][] ): boolea
301
348
 
302
349
 
303
350
 
351
+