Questions tagged «polygon»

在地图上,由x,y坐标对的连接序列定义的闭合形状,其中第一个和最后一个坐标对是相同的,而其他所有坐标对都是唯一的。

2
将属性从一个多边形图层投影到QGIS中的另一个图层?
我有2个多边形图层,可以在这里找到。两层是重叠的。第一个包含1928年德国各县的地图,第二个包含2014年各县的地图。 2014层包含有关总体的信息(在数据集中称为Bev)。是否可以将人口属性从一个多边形图层投影到另一多边形图层? 更具体一点: 考虑这样一种情况,我在一个具有人口属性的层中有2个县,而在另一层的同一区域中只有1个县。QGIS是否可以汇总两个县的人口并将此信息写入另一层? 如果这行得通,那么当具有信​​息的层在特定区域中只有一个县,而在另一层中有两个县时,是否还有办法做到这一点?在这种情况下,我想按县的大小按比例分配人口。
16 qgis  polygon 

2
如何使用R中的多边形图层执行多边形图层的真实GIS剪辑?
我想使用一系列单边界多边形在土壤多边形的R中创建一个真正的GIS剪辑,但是我找不到能够正确执行此操作的R函数。它应该像clipESRI的ArcMap中的功能一样工作。我已经尝试过该over方法在sp包中,但它似乎不适用于多边形而不是多边形。 一种建议是使用以下代码将gIntersectionin rgeos包用作剪辑: #------------------------------------ library(rgeos) library(maptools) #Read layers as SpatialPolygonsDataFrame (both the same Albers projection) Soils_poly = readShapePoly("Soils_polygons") #Note - Has 400 polygons clipper_poly = readShapePoly("clipper_polygon") #Note - Has 1 polygon #Try gintersection as clip Clipped_polys = gIntersection(Clipper_Tile_poly, Soils_poly) #----------------------------------- 这需要5分钟才能运行(速度太慢),并且会出现以下错误: RGEOSBinTopoFunc中的错误(spgeom1,spgeom2,byid,id,drop_not_poly,“ rgeos_intersection”):TopologyException:在-721459.77681285271 2009506.5980877089中找不到传出的dirEdge 我还尝试了以下代码来检查是否重叠: gIntersects(Clipper_Tile_poly, Soils_poly) 结果为TRUE。clipESRI ArcMap中的函数对此数据可以正常工作。 有人知道R函数可以使用空间多边形对空间多边形进行适当的剪辑吗?
16 r  polygon  layers  vector  clip 

7
从开源GIS解决方案中的多边形叠加层获取栅格值
我有两层。包含许多图块的多边形形状层和包含CORINE 2006土地覆盖物的栅格层,并在色图中包含许多类别。我想为shapelayer中的每个多边形获取栅格图层的每个土地覆盖类别的总和。 例如,有一个ID为'2'的多边形,我要为此多边形设置这样的属性(以百分比或平方米为单位): 耕地:15% 森林:11% 街道:2%(...等等) 我试图在草,qgis(无功能),saga(将每个总和求和成一个总值)r(总和)中做到这一点,但我仍然没有找到解决方案。大多数插件(qgis中的区域统计信息)仅支持0-1栅格图层。v.rast.stats也没有帮助。Iam接受任何优秀而明智的解决方案!也许我什至使用了错误的方法或犯了错误。 如果记得正确的话,在Arcgis中,此任务非常容易,但是对于您的日常linux用户,我仍然缺少一个好的解决方案。 我正在运行一个debian linux系统,这就是为什么我只能为此操作系统使用程序的原因。 编辑:因为这个问题仍然有这么多的视图和访问者:我写了一个QGIS插件,它也能够计算栅格图层的土地覆盖。我还没有编写多边形叠加层的代码,但是它确实经过了规划。在此处找到插件,然后首先安装Scipy库。
16 qgis  raster  polygon  r  statistics 


3
如何创建线以可视化PostGIS中多边形要素之间的差异?
我有一个polygon_b带有某些面要素的PostGIS表。还有一个表格polygon_a,其中包含与多边形相同的多边形,polygon_b但变化较小。现在,我想创建线条以可视化多边形要素之间的差异。 我想这ST_ExteriorRing和ST_Difference将做的工作,但在WHERE子句似乎是相当棘手。 CREATE VIEW line_difference AS SELECT row_number() over() AS gid, g.geom::geometry(LineString, yourSRID) AS geom FROM (SELECT (ST_Dump(COALESCE(ST_Difference(ST_ExteriorRing(polygon_a.geom), ST_ExteriorRing(polygon_b.geom))))).geom AS geom FROM polygon_a, polygon_b WHERE -- ? ) AS g; 谁能帮我? 编辑1 正如“倾斜”所发布的,我已经尝试过,ST_Overlaps(polygon_a.geom, polygon_b.geom) AND NOT ST_Touches(polygon_a.geom, polygon_b.geom)但结果与预期不符。 CREATE VIEW line_difference AS SELECT row_number() over() AS gid, g.geom::geometry(LineString, your_SRID) AS …

3
使用PostGIS将栅格与多边形相交-Artefact Error
我正在使用PostGIS2.0进行一些栅格/多边形相交。我很难理解应该使用哪种操作以及执行此操作最快的方法是什么。我的问题如下: 我有一个多边形和一个栅格 我想找到落在多边形内的所有像素,并获取像素值的总和 并且(已更新的问题):执行查询时,我正在获取原始栅格中不存在的一些像素的大量值 我难以理解应该使用ST_Intersects()还是ST_Intersection()。我也不知道对像素求和的最佳方法是什么。这是我尝试过的第一种方法(#1): SELECT r.rast FROM raster as r, polygon as p WHERE ST_Intersects(r.rast, p.geom) 这将返回一个rast值列表,我不确定该怎么做。我尝试使用计算汇总统计信息,ST_SummaryStats()但不确定这是否是多边形内所有像素的加权和。 SELECT (result).count, (result).sum FROM ( SELECT ST_SummaryStats(r.rast) As result FROM raster As r, polygon As p WHERE ST_Intersects(r.rast, p.geom) ) As tmp 我尝试过的另一种方法(#2)使用ST_Intersection(): SELECT (gv).geom, (gv).val FROM ( SELECT ST_Intersection(r.rast, p.geom) AS …

2
除某些区域外,是否可以将Google Maps地图显示为灰色?
我正在寻找的是一种通过使世界其他地方变灰来强调Google地图地图上特定区域的方法。 我听说过一些使用2个多边形的解决方案,其中1个可见,另一个不可见,并且仅在地图为静态(无地图移动)的情况下才起作用。但是我希望用户能够缩放和拖动地图。 我也对其他我没想到要强调的领域感兴趣。 更新: 当我尝试使用radek发布的解决方案时(例如,创建一个带有Polygon的KML,该Polygon具有一个externalBoundaryIs(大于视图)和一个innerBoundaryIs(需要强调的区域)),当我放大时,矩形区域不会被覆盖周围的多边形了。看到: 任何有经验/解决方案的人吗? 更新2: 我终于有时间使用Google Fusion Tables测试radek的解决方案。起初,我遇到了缺少瓷砖的问题,与KML一样(请参见上图),但是经过另一次加载后,看起来好像已经捡起来,并且显示瓷砖完全正确。我觉得他的解决方案中的jQuery hack适用于未加载的图块: setTimeout(function(){ $("img[src*='googleapis']").each(function() { $(this).attr("src",$(this).attr("src")+"&"+(new Date()).getTime()); }); }, 5000); 由于磁贴似乎在刷新后加载,因此我自己没有使用过hack。如果该错误发生在每个新用户身上,我将对其进行实验。

2
如何修复复杂的多边形,使其在Google地图中正确显示?
问题:我正在尝试找到一种方法来修复一些破碎的多边形形状,但不确定如何做到这一点。 详细资料: 我有很多多边形,基本上是从TIGERLINES不久前导入的。 我将它们转换为形状文件,然后将其导入Sql Server 2008。 在sql server 2008中,它们看起来很棒:)因此,这表明导入或多或少都起作用。这是洛杉矶市:- 但是,由于我的多边形有很多点,REDUCE因此在地图视图级别未放大时会显示它们。因此,以我为例,我现在尝试渲染缩小的洛杉矶:- 太棒了! 这是polys,是众所周知的文本格式。 MULTIPOLYGON (((-118.37033296865027 33.981437119998084, -118.37005887887605 33.981578692036159, -118.37034101004039 33.981636093563019, -118.37033296865027 33.981437119998084)), ((-118.66815694082851 34.181234948814819, -118.62915309690062 34.14689902389253, -118.56475201393673 34.130168028388276, -118.5992039806748 34.074336925351339, -118.57039497030522 34.069345957209549, -118.56968692628638 33.988811006799452, -118.55134001501617 33.982488918901176, -118.49446792996977 34.050559988837591, -118.44342601159182 34.016625025023124, -118.53748592914029 33.96667393391462, -118.49898897162241 33.916299091437473, -118.43732802504242 33.91651401198633, -118.4580839734636 33.961275936767734, -118.42944687485486 33.916317947202252, -118.4287748805515 …

6
如何使用ST_Intersection?
以下是我要执行的操作的简要摘要:Postgres中有3个表,“ a”和“ b”,每个表都有一个Polygon列,而“ c”有一个Point列。我在这里要做的是获取“ a”,“ b”和“ c”之间的几何形状相交,并在OpenLayers矢量层上显示此类几何形状。 我已经知道如何在OpenLayers中显示字符串中的任何几何形状,但是我在使用PostGIS的ST_Intersection函数时遇到了麻烦,我正在这样做: SELECT ST_Intersection(a.geom, b.geom) as inter from a, b; 其中a.geom和b.geom都是几何列,并且我收到此错误消息: NOTICE: TopologyException: found non-noded intersection between 515172 2.14408e+06, 497067 2.13373e+06 and 501321 2.13546e+06, 471202 2.14843e+06 500621 2.13576e+06 ERROR: GEOS Intersection() threw an error! 我也尝试使用ST_AsText将生成的几何图形表示为文本,如下所示: SELECT ST_AsText(ST_Intersection(a.geom, b.geom)) as inter from a, b; 但它向我发送此错误消息: …

1
通过线shapefile剪切多边形shapefile
我有两个shapefile,一个多边形shapefile(湖)和一个线shapefile(boudary),我想创建一个新的shapefile“边界北边的多边形” 我可以在QGIS或其他免费GIS中使用什么工具来完成此任务?
15 qgis  polygon  line  clip 

2
无法在QGIS 3.0中对齐顶点和线段
我无法在QGIS 3.0中捕捉2个多边形。我尝试从同一图层捕捉2个多边形,也从不同图层捕捉2个多边形。 我确保在“设置” >>“选项” >>“数字化”选项卡中启用了捕捉,并增加了捕捉距离。 我在图层级别找不到任何“快照设置”。投影层。

1
使用ArcPy在中点分割多边形?
我正尝试在其中点(垂直于最长轴)(即在中点的宽度上)周围的4000个多边形中进行分割,如下图所示。 理想情况下,我想自动执行此操作,避免手动分割每个多边形。我已经通过转换可以在每个多边形中绘制的最长线来提取多边形的中点,我只需要确定一种自动在该点上绘制宽度线的方法即可。 多边形的宽度各不相同,因此,通过定义一定长度的宽度线来分割多边形的工具并不是我真正想要的。 有任何想法吗?

1
如何将多边形中的假甜甜圈孔转换为真实的孔?
我有一个问题,我必须将shapefile导入到我们的系统中,该几何文件必须在几何上是有效的,但是每个人用来生成它们的软件似乎输出的文件中每个应包含孔的多边形都由单个外圈组成,绕过边界,然后沿着任意路径向内走,绕着应该是内环的方向走动,然后再将自身翻倍,再回到外部。 我寻求的是一种解决这些问题的方法,该方法是将顶点沿孔的内外任意路径溶解,以形成独立的内环和外环,从而形成有效的多边形。我已经尝试了ArcGIS的试用版,当您将双靠背零件上的顶点对齐在一起时,它似乎可以自动执行此操作,但是我的公司没有ArcGIS副本,我可能很难说服老板买它,所以我希望QGIS允许我做这样的事情? 屏幕截图: 我无法弄清楚如何从WKT中脱颖而出,但是通过玩弄顶点,我很确定这是一个单环,可以使自身略微翻倍。
14 qgis  polygon 


2
在多边形之间传输流(连接+值)
在QGIS中,有两个shapefile表示单元之间和另一层之间的移动数据,请参见下图。 移动数据的定义: 多边形"LayerA"(带有红色轮廓的透明正方形)。此外,它还涉及代表细胞内部运动的圆圈,这些圆圈在质心的位置上可视化"LayerA"。 折线层"Flows"(黄色/灰色箭头),经由连接传达的geocentroids之间的值"LayerA"的特征 目标层: 多边形"LayerB"(浅紫色特征,深灰色轮廓)。 另外,我已经将"FLUX"单元内的值转移"LayerA"到了"LayerB"多边形中,并将其移动到多边形中,请参阅我的上一个问题:QGIS中多边形之间的继承值?。它用的是完成%的$area计算。 可能存在一种有意义的解决方案/方法,将/ 表示的流 连接"Flows"及其值从/的关系"LayerA"转换为/的关系"LayerB"。 如何将这些连接实现为折线? 此外,新流程将继承与相似的样式"Flows"。 根据要求,我可以提供数据样本。 流将不存在于特征之间"LayerA",而存在于特征之间 "LayerB"。主要目的是实现可能的表/来源-目的地矩阵"FLUX"之间的连接属性(即,从/到)"LayerB"。 需要遵守一些要求/标准: 1.在同一单元格中,要素的各个部分(以黄色选中)之间没有流路连接 2.相同要素之间没有连接,即使其零件位于不同的单元中 3.如果要素的各个部分完全位于两个不同的像元要素中,则它们之间存在连接"LayerB"(基于"Union"输出)"LayerA" 4."FLUX"如下图所示,将计算正在传送的新值。 举例来说,有两个单元之间的连接I和II,其中"FLUX"是100。假设其他值,"NEW_FLUX"介于A'和之间B''将是1.5625。100仅是一个例子。 参考文献: QGIS中多边形之间的继承值? 在QGIS 2中调整流程图样式 计算另一层多边形内多边形的比例面积 免费和开源GIS乱流| GIS中的运动数据:问题和想法 在QGIS 2中使用虚拟层保留几何

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.