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


Python QgsJsonExporter.exportFeatures方法代码示例

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


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

示例1: testExportFeaturesWithLocale_regression20053

# 需要导入模块: from qgis.core import QgsJsonExporter [as 别名]
# 或者: from qgis.core.QgsJsonExporter import exportFeatures [as 别名]
    def testExportFeaturesWithLocale_regression20053(self):
        """ Test exporting feature export with range widgets and locale different than C
        Regression: https://issues.qgis.org/issues/20053 - decimal separator in csv files
        """

        source = QgsVectorLayer("Point?field=name:string&field=cost:double&field=population:int&field=date:date",
                                "parent", "memory")
        self.assertTrue(source.isValid())
        fields = source.fields()

        feature = QgsFeature(fields, 5)
        feature.setGeometry(QgsGeometry(QgsPoint(5, 6)))
        feature.setAttributes(['Valsier Peninsula', 6.8, 198000, '2018-09-10'])

        exporter = QgsJsonExporter()

        # single feature
        expected = """{
  "features": [
    {
      "geometry": {
        "coordinates": [
          5.0,
          6.0
        ],
        "type": "Point"
      },
      "id": 5,
      "properties": {
        "cost": 6.8,
        "date": "2018-09-10",
        "name": "Valsier Peninsula",
        "population": 198000
      },
      "type": "Feature"
    }
  ],
  "type": "FeatureCollection"
}"""
        self.assertEqual(exporter.exportFeatures([feature], 2), expected)

        setup = QgsEditorWidgetSetup('Range', {
            'AllowNull': True,
            'Max': 2147483647,
            'Min': -2147483648,
            'Precision': 4,
            'Step': 1,
            'Style': 'SpinBox'
        }
        )
        source.setEditorWidgetSetup(1, setup)
        source.setEditorWidgetSetup(2, setup)

        QLocale.setDefault(QLocale('it'))
        exporter.setVectorLayer(source)
        self.assertEqual(exporter.exportFeatures([feature], 2), expected)
开发者ID:m-kuhn,项目名称:QGIS,代码行数:58,代码来源:test_qgsjsonutils.py

示例2: layer_geom

# 需要导入模块: from qgis.core import QgsJsonExporter [as 别名]
# 或者: from qgis.core.QgsJsonExporter import exportFeatures [as 别名]
def layer_geom(layer):
    featureList = []

    if layer.featureCount() > settings.PROJESTIONS_MAX_FEATURES:
        # If too many features, randomly select some
        import processing
        processing.run('qgis:randomselection', {
            'INPUT': layer,
            'METHOD': 0,
            'NUMBER': settings.PROJESTIONS_MAX_FEATURES,
        }, feedback=QgsProcessingFeedback())
        featureList = layer.selectedFeatures()
        layer.removeSelection()
    else:
        # Else get all of the features
        feature = QgsFeature()
        iterator = layer.getFeatures()
        while iterator.nextFeature(feature):
            feature.setGeometry(feature.geometry().simplify(0.1))
            featureList.append(feature)
            feature = QgsFeature()

    exporter = QgsJsonExporter(layer, 6)
    exporter.setExcludedAttributes(layer.attributeList())
    return exporter.exportFeatures(featureList)
开发者ID:ebrelsford,项目名称:qgis-projestions,代码行数:27,代码来源:projestions_geoms.py

示例3: testExportFeatures

# 需要导入模块: from qgis.core import QgsJsonExporter [as 别名]
# 或者: from qgis.core.QgsJsonExporter import exportFeatures [as 别名]
    def testExportFeatures(self):
        """ Test exporting feature collections """

        fields = QgsFields()
        fields.append(QgsField("name", QVariant.String))
        fields.append(QgsField("cost", QVariant.Double))
        fields.append(QgsField("population", QVariant.Int))

        feature = QgsFeature(fields, 5)
        feature.setGeometry(QgsGeometry(QgsPoint(5, 6)))
        feature.setAttributes(['Valsier Peninsula', 6.8, 198])

        exporter = QgsJsonExporter()

        # single feature
        expected = """{ "type": "FeatureCollection",
    "features":[
{
   "type":"Feature",
   "id":5,
   "geometry":
   {"type": "Point", "coordinates": [5, 6]},
   "properties":{
      "name":"Valsier Peninsula",
      "cost":6.8,
      "population":198
   }
}
]}"""
        self.assertEqual(exporter.exportFeatures([feature]), expected)

        # multiple features
        feature2 = QgsFeature(fields, 6)
        feature2.setGeometry(QgsGeometry(QgsPoint(7, 8)))
        feature2.setAttributes(['Henry Gale Island', 9.7, 38])

        expected = """{ "type": "FeatureCollection",
    "features":[
{
   "type":"Feature",
   "id":5,
   "geometry":
   {"type": "Point", "coordinates": [5, 6]},
   "properties":{
      "name":"Valsier Peninsula",
      "cost":6.8,
      "population":198
   }
},
{
   "type":"Feature",
   "id":6,
   "geometry":
   {"type": "Point", "coordinates": [7, 8]},
   "properties":{
      "name":"Henry Gale Island",
      "cost":9.7,
      "population":38
   }
}
]}"""
        self.assertEqual(exporter.exportFeatures([feature, feature2]), expected)
开发者ID:,项目名称:,代码行数:64,代码来源:


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