本文整理汇总了Python中qgis.core.QgsJSONExporter.sourceCrs方法的典型用法代码示例。如果您正苦于以下问题:Python QgsJSONExporter.sourceCrs方法的具体用法?Python QgsJSONExporter.sourceCrs怎么用?Python QgsJSONExporter.sourceCrs使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qgis.core.QgsJSONExporter
的用法示例。
在下文中一共展示了QgsJSONExporter.sourceCrs方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testExportFeatureCrs
# 需要导入模块: from qgis.core import QgsJSONExporter [as 别名]
# 或者: from qgis.core.QgsJSONExporter import sourceCrs [as 别名]
def testExportFeatureCrs(self):
""" Test CRS transform when exporting features """
exporter = QgsJSONExporter()
self.assertFalse(exporter.sourceCrs().isValid())
#test layer
layer = QgsVectorLayer("Point?crs=epsg:3111&field=fldtxt:string",
"parent", "memory")
exporter = QgsJSONExporter(layer)
self.assertTrue(exporter.sourceCrs().isValid())
self.assertEqual(exporter.sourceCrs().authid(), 'EPSG:3111')
exporter.setSourceCrs(QgsCoordinateReferenceSystem(3857, QgsCoordinateReferenceSystem.EpsgCrsId))
self.assertTrue(exporter.sourceCrs().isValid())
self.assertEqual(exporter.sourceCrs().authid(), 'EPSG:3857')
# vector layer CRS should override
exporter.setVectorLayer(layer)
self.assertEqual(exporter.sourceCrs().authid(), 'EPSG:3111')
# test that exported feature is reprojected
feature = QgsFeature(layer.fields(), 5)
feature.setGeometry(QgsGeometry(QgsPointV2(2502577, 2403869)))
feature.setAttributes(['test point'])
# low precision, only need rough coordinate to check and don't want to deal with rounding errors
exporter.setPrecision(1)
expected = """{
"type":"Feature",
"id":5,
"geometry":
{"type": "Point", "coordinates": [145, -37.9]},
"properties":{
"fldtxt":"test point"
}
}"""
self.assertEqual(exporter.exportFeature(feature), expected)