当前位置: 首页>>代码示例>>Python>>正文


Python QgsGeometry.rotate方法代码示例

本文整理汇总了Python中qgis.core.QgsGeometry.rotate方法的典型用法代码示例。如果您正苦于以下问题:Python QgsGeometry.rotate方法的具体用法?Python QgsGeometry.rotate怎么用?Python QgsGeometry.rotate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在qgis.core.QgsGeometry的用法示例。


在下文中一共展示了QgsGeometry.rotate方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: OMBBox

# 需要导入模块: from qgis.core import QgsGeometry [as 别名]
# 或者: from qgis.core.QgsGeometry import rotate [as 别名]
        def OMBBox(self, geom):
            g = geom.convexHull()
            if g.type() != QGis.Polygon:
                return None, None, None, None, None, None
            r = g.asPolygon()[0]
            p0 = QgsPoint(r[0][0], r[0][1])
            i = 0
            l = len(r)
            OMBBox = QgsGeometry()
            gBBox = g.boundingBox()
            OMBBox_area = gBBox.height() * gBBox.width()
            OMBBox_angle = 0
            OMBBox_width = 0
            OMBBox_heigth = 0
            OMBBox_perim = 0
            while i < l - 1:
                x = QgsGeometry(g)
                angle = self.GetAngleOfLineBetweenTwoPoints(r[i], r[i + 1])
                x.rotate(angle, p0)
                bbox = x.boundingBox()
                bb = QgsGeometry.fromWkt(bbox.asWktPolygon())
                bb.rotate(-angle, p0)

                areabb = bb.area()
                if areabb <= OMBBox_area:
                    OMBBox = QgsGeometry(bb)
                    OMBBox_area = areabb
                    OMBBox_angle = angle
                    OMBBox_width = bbox.width()
                    OMBBox_heigth = bbox.height()
                    OMBBox_perim = 2 * OMBBox_width + 2 * OMBBox_heigth
                i += 1
            return OMBBox, OMBBox_area, OMBBox_perim, OMBBox_angle, OMBBox_width, OMBBox_heigth
开发者ID:marlesz,项目名称:BuildingGeneralization,代码行数:35,代码来源:simplification.py


注:本文中的qgis.core.QgsGeometry.rotate方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。