本文整理汇总了Python中qgis.core.QgsPolygon类的典型用法代码示例。如果您正苦于以下问题:Python QgsPolygon类的具体用法?Python QgsPolygon怎么用?Python QgsPolygon使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了QgsPolygon类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: getGeomPolygonRing
def getGeomPolygonRing(rings, idRing):
# rings = [ QgsPointXY ]
ringPoints = [ QgsPoint( p ) for p in rings[ idRing ] ] # [ QgsPoint ]
line = QgsLineString( ringPoints )
del ringPoints[:]
polygon = QgsPolygon()
polygon.setExteriorRing( line )
del line
return QgsGeometry( polygon )
开发者ID:lmotta,项目名称:gimpselectionfeature_plugin,代码行数:9,代码来源:gimpselectionfeature.py
示例2: getSurfaces
def getSurfaces(self, geometry):
surfaces = []
if isinstance(geometry, QgsGeometryCollection):
# collection
for i in range(geometry.numGeometries()):
surfaces.extend(self.getSurfaces(geometry.geometryN(i)))
else:
# not collection
if geometry.vertexCount() > 2:
surface = QgsPolygon()
surface.setExteriorRing(geometry.clone())
surfaces.append(surface)
return surfaces
开发者ID:enricofer,项目名称:QGIS,代码行数:14,代码来源:LinesToPolygons.py
示例3: convertToPolygon
def convertToPolygon(self, geom):
if QgsWkbTypes.geometryType(geom.wkbType()) == QgsWkbTypes.PointGeometry and geom.constGet().nCoordinates() < 3:
raise QgsProcessingException(
self.tr('Cannot convert from Point to Polygon').format(QgsWkbTypes.displayString(geom.wkbType())))
elif QgsWkbTypes.geometryType(geom.wkbType()) == QgsWkbTypes.PointGeometry:
# multipoint with at least 3 points
# TODO: mega inefficient - needs rework when geometry iterators land
# (but at least it doesn't lose Z/M values)
points = []
for g in geom.constGet().coordinateSequence():
for r in g:
for p in r:
points.append(p)
linestring = QgsLineString(points)
linestring.close()
p = QgsPolygon()
p.setExteriorRing(linestring)
return [QgsGeometry(p)]
elif QgsWkbTypes.geometryType(geom.wkbType()) == QgsWkbTypes.LineGeometry:
if QgsWkbTypes.isMultiType(geom):
parts = []
for i in range(geom.constGet().numGeometries()):
p = QgsPolygon()
linestring = geom.constGet().geometryN(i).clone()
linestring.close()
p.setExteriorRing(linestring)
parts.append(QgsGeometry(p))
return QgsGeometry.collectGeometry(parts)
else:
# linestring to polygon
p = QgsPolygon()
linestring = geom.constGet().clone()
linestring.close()
p.setExteriorRing(linestring)
return [QgsGeometry(p)]
else:
#polygon
if QgsWkbTypes.isMultiType(geom):
return geom.asGeometryCollection()
else:
return [geom]
开发者ID:vmora,项目名称:QGIS,代码行数:41,代码来源:GeometryConvert.py
示例4: get_mesh_geometry
def get_mesh_geometry(self, mesh, index):
face = mesh.face(index)
points = [mesh.vertex(v) for v in face]
polygon = QgsPolygon()
polygon.setExteriorRing(QgsLineString(points))
return QgsGeometry(polygon)
开发者ID:lutraconsulting,项目名称:qgis-crayfish-plugin,代码行数:6,代码来源:export_faces.py
注:本文中的qgis.core.QgsPolygon类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论