我有一个来自的1弧秒SRTM光栅层。
我试着把那个栅格变成一组多边形,每100米高的波段。然后我想要溶解或结合相同属性的多边形在一起。
我的问题是,大多数多边形在这个过程中得到的是一个无效的几何。
我不知道问题出在哪里,所以我将描述我所做的所有步骤:
library(tidyverse)
library(sf)
library(stars)
# First I open the raster, remove NAs and set the min and max values
r <- raster::raster(my_raster)
raster::NAvalue(r) <-
我有一条路径作为一个点的有序序列,它与一个多边形相交。我想在第一个多边形交集之前提取直线的部分。
我试图通过计算与多边形的差来分割路径,但是这条线在它的自交点上也是分裂的(参见示例)。我需要从一开始就提取路径的全部部分,直到它第一次与多边形相交(示例中的蓝色方格)。
# A wonky line that intersects itself
l = sf::st_linestring(cbind(cos((0:100) * pi / 50), sin((0:100) * pi / 15 )))
# A polygon that intersects the line
p = sf::st
我有一个由几个Boost.Geometry多边形组成的数组,我需要将它们合并成一个多边形。我已经成功地实现了一些东西,将每个连续的多边形与前两个多边形的并集合并(只需循环通过它们并联合另一个多边形)。
multi_polygon polygons; // an array of initial polygons
multi_polygon border; // the unioned polygons
for (polygon p : polygons) {
// add another polygon each iteration
multi_polygon tmp_p
我需要为下面的输入创建图钉。
var Countries = ["Austria", "Brazil", "India", "Germany", "USA", "Malaysia"];
Microsoft.Maps.SpatialDataService.GeoDataAPIManager.getBoundary(Countries, geoDataRequestOptions, map,
(data) => {
var value = data.loc
我有多边形集。在这个集合中,有些是外部多边形,有些可能(或不可能)是洞。在这个阶段,我不知道什么是多边形孔。我想要计算最后的多边形组合所有多边形,包括洞。
我想到了这种方法:
//'SomeLib' that has polygon boolean fucntions
var polygonSet = [poly1,poly2,...polyn];
var union, intersection;
var combinedPoly = SomeLib.XOR(polygonSet[0], polygonSet[1]);
for( var i=2; i<polygonS
我有两组多边形。笛卡尔空间中的红色多边形和蓝色多边形。我需要找到所有与蓝色多边形相交的红色多边形。我目前正在使用一个简单的双循环方法来解决这个问题。下面是伪代码:
var candidates = HashMap<Int, Polygon>();
for (var red : redPolygons) {
for (var blue : bluePolygons) {
if (polygonsIntersect(red, blue)) {
candidates[red.id] = red.polygon;
brea