根据二维数组中的坐标在地图上绘制多边形
Drawing a polygon in map based on coordinates from a two dimensional array
给定一个看起来像这样的二维数组(我把它画成一个网格):
[0][0][0][1][1][0][0][1][1][0]
[0][1][1][1][1][0][1][1][1][0]
[0][1][1][1][1][0][0][1][1][0]
[0][1][1][1][1][0][0][0][0][0]
[0][0][0][1
我想提取粗体的 1,而忽略斜体的 1。我的 1 表示我要用作 GeoJSON 文档中多面要素输入的 GPS 坐标。
现在我遍历每一行并创建MultiLineString,但这真的不是我想要的。
var previousValue = -1;
var line = [];
var lines = [];
var points = [];
for (var i = 0; i < data.length; i++) {
var value = data[i];
if (value == 0 || (previousValue > -1 && value != previousValue)) {
// Line interrupted, push it to features and create a new
if (line.length === 1) { // It's not a line, but a point
//this.common.log.info("Push point");
points.push(line);
} else if (line.length === 2 && previousValue > -1) {
lines.push(line);
}
line = [];
}
if (value > 0) {
if (line.length == 0) {
// Start of line
line.push(value);
} else if (line.length == 1) {
// Line has only a starting point, add to end
line.push(value);
} else {
// Line has already an endpoint, update it
line[1] = value;
}
}
previousValue = value;
}
我想有一个图书馆吗?
您可以尝试行进方块算法(如评论中所示),但我推荐alpha形状。它是一个没有超过阿尔法的边的德劳内三角测量。行进立方体不适合凹形船体。
相关文章:
- 如何使用谷歌地图绘制已知路线 JavsScript API V3.
- 使用谷歌地图绘制半径内的点
- 谷歌地图绘制多边形并警告重叠
- 将多个谷歌地图绘制到页面
- 谷歌地图绘制 - 通过拖动绘制线条或多边形
- 谷歌地图绘制路线在Windows中出现故障
- 谷歌地图绘制多边形并缩放到其边界
- 谷歌地图绘制工具输出多边形坐标
- 由谷歌地图绘制的矩形 绘图管理器不会触发鼠标移动事件
- 地理定位:使用OpenStreetMap进行地图绘制和POI
- 谷歌地图绘制了圆形半径搜索
- 用谷歌地图绘制公交路线
- 地图绘制-动态绘制多边形
- 如何显示谷歌地图绘制工具时,按下按钮菜单
- 委内瑞拉的开放街道地图绘制与Turistforeningen/传单路由
- Javascript Google地图绘制事件
- 地图绘制显示错误- TypeError: k[bd].maps.Load不是一个函数
- 谷歌地图绘制多边形线使用数据库的详细信息
- 如何有实时响应从KML文件在谷歌地图绘制多边形
- SVG在游戏开发中用于地图绘制与地图移动