本文整理汇总了Python中qgis.core.QgsCoordinateReferenceSystem.fromEpsgId方法的典型用法代码示例。如果您正苦于以下问题:Python QgsCoordinateReferenceSystem.fromEpsgId方法的具体用法?Python QgsCoordinateReferenceSystem.fromEpsgId怎么用?Python QgsCoordinateReferenceSystem.fromEpsgId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qgis.core.QgsCoordinateReferenceSystem
的用法示例。
在下文中一共展示了QgsCoordinateReferenceSystem.fromEpsgId方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testTrueNorth
# 需要导入模块: from qgis.core import QgsCoordinateReferenceSystem [as 别名]
# 或者: from qgis.core.QgsCoordinateReferenceSystem import fromEpsgId [as 别名]
def testTrueNorth(self):
"""Test syncing picture to true north"""
mapSettings = QgsMapSettings()
composition = QgsComposition(mapSettings, QgsProject.instance())
composerMap = QgsComposerMap(composition)
composerMap.setCrs(QgsCoordinateReferenceSystem.fromEpsgId(3575))
composerMap.setNewExtent(QgsRectangle(-2126029.962, -2200807.749, -119078.102, -757031.156))
composition.addComposerMap(composerMap)
composerPicture = QgsComposerPicture(composition)
composition.addComposerPicture(composerPicture)
composerPicture.setRotationMap(composerMap.id())
self.assertTrue(composerPicture.rotationMap() >= 0)
composerPicture.setNorthMode(QgsComposerPicture.TrueNorth)
self.assertAlmostEqual(composerPicture.pictureRotation(), 37.20, 1)
# shift map
composerMap.setNewExtent(QgsRectangle(2120672.293, -3056394.691, 2481640.226, -2796718.780))
self.assertAlmostEqual(composerPicture.pictureRotation(), -38.18, 1)
# rotate map
composerMap.setMapRotation(45)
self.assertAlmostEqual(composerPicture.pictureRotation(), -38.18 + 45, 1)
# add an offset
composerPicture.setNorthOffset(-10)
self.assertAlmostEqual(composerPicture.pictureRotation(), -38.18 + 35, 1)
示例2: testTrueNorth
# 需要导入模块: from qgis.core import QgsCoordinateReferenceSystem [as 别名]
# 或者: from qgis.core.QgsCoordinateReferenceSystem import fromEpsgId [as 别名]
def testTrueNorth(self):
"""Test syncing picture to true north"""
layout = QgsLayout(QgsProject.instance())
map = QgsLayoutItemMap(layout)
map.attemptSetSceneRect(QRectF(0, 0, 10, 10))
map.setCrs(QgsCoordinateReferenceSystem.fromEpsgId(3575))
map.setExtent(QgsRectangle(-2126029.962, -2200807.749, -119078.102, -757031.156))
layout.addLayoutItem(map)
picture = QgsLayoutItemPicture(layout)
layout.addLayoutItem(picture)
picture.setLinkedMap(map)
self.assertEqual(picture.linkedMap(), map)
picture.setNorthMode(QgsLayoutItemPicture.TrueNorth)
self.assertAlmostEqual(picture.pictureRotation(), 37.20, 1)
# shift map
map.setExtent(QgsRectangle(2120672.293, -3056394.691, 2481640.226, -2796718.780))
self.assertAlmostEqual(picture.pictureRotation(), -38.18, 1)
# rotate map
map.setMapRotation(45)
self.assertAlmostEqual(picture.pictureRotation(), -38.18 + 45, 1)
# add an offset
picture.setNorthOffset(-10)
self.assertAlmostEqual(picture.pictureRotation(), -38.18 + 35, 1)
示例3: testEquality
# 需要导入模块: from qgis.core import QgsCoordinateReferenceSystem [as 别名]
# 或者: from qgis.core.QgsCoordinateReferenceSystem import fromEpsgId [as 别名]
def testEquality(self):
# spatial extent
extent = QgsLayerMetadata.SpatialExtent()
extent.extentCrs = QgsCoordinateReferenceSystem.fromEpsgId(3111)
extent.bounds = QgsBox3d(5.0, 6.0, 7.0, 11.0, 13.0, 15.0)
extent2 = QgsLayerMetadata.SpatialExtent()
extent2.extentCrs = QgsCoordinateReferenceSystem.fromEpsgId(3111)
extent2.bounds = QgsBox3d(5.0, 6.0, 7.0, 11.0, 13.0, 15.0)
self.assertEqual(extent, extent2)
extent2.extentCrs = QgsCoordinateReferenceSystem.fromEpsgId(3113)
self.assertNotEqual(extent, extent2)
extent2.extentCrs = QgsCoordinateReferenceSystem.fromEpsgId(3111)
extent2.bounds = QgsBox3d(5.0, 6.0, 7.0, 11.0, 13.0, 16.0)
self.assertNotEqual(extent, extent2)
# extent
extent = QgsLayerMetadata.Extent()
extent1 = QgsLayerMetadata.SpatialExtent()
extent1.extentCrs = QgsCoordinateReferenceSystem.fromEpsgId(3111)
extent1.bounds = QgsBox3d(5.0, 6.0, 7.0, 11.0, 13.0, 15.0)
extent2 = QgsLayerMetadata.SpatialExtent()
extent2.extentCrs = QgsCoordinateReferenceSystem.fromEpsgId(3113)
extent2.bounds = QgsBox3d(5.0, 6.0, 7.0, 11.0, 13.0, 16.0)
extent.setSpatialExtents([extent1, extent2])
dates = [
QgsDateTimeRange(
QDateTime(QDate(2001, 12, 17), QTime(9, 30, 47)),
QDateTime(QDate(2001, 12, 17), QTime(9, 30, 47))),
QgsDateTimeRange(
QDateTime(QDate(2010, 12, 17), QTime(9, 30, 47)),
QDateTime(QDate(2020, 12, 17), QTime(9, 30, 47)))
]
extent.setTemporalExtents(dates)
extent_copy = QgsLayerMetadata.Extent(extent)
self.assertEqual(extent, extent_copy)
extent_copy.setTemporalExtents([
QgsDateTimeRange(
QDateTime(QDate(2001, 12, 17), QTime(9, 30, 47)),
QDateTime(QDate(2001, 12, 17), QTime(9, 30, 47))),
QgsDateTimeRange(
QDateTime(QDate(2010, 12, 17), QTime(9, 30, 48)),
QDateTime(QDate(2020, 12, 17), QTime(9, 30, 49)))
])
self.assertNotEqual(extent, extent_copy)
extent_copy = QgsLayerMetadata.Extent(extent)
extent3 = QgsLayerMetadata.SpatialExtent()
extent3.extentCrs = QgsCoordinateReferenceSystem.fromEpsgId(3113)
extent3.bounds = QgsBox3d(5.0, 6.0, 7.0, 11.0, 13.0, 19.0)
extent_copy.setSpatialExtents([extent1, extent3])
self.assertNotEqual(extent, extent_copy)
constraint = QgsLayerMetadata.Constraint('c', 'type1')
self.assertEqual(constraint, QgsLayerMetadata.Constraint('c', 'type1'))
self.assertNotEqual(constraint, QgsLayerMetadata.Constraint('c2', 'type1'))
self.assertNotEqual(constraint, QgsLayerMetadata.Constraint('c', 'type2'))
示例4: testGettersSetters
# 需要导入模块: from qgis.core import QgsCoordinateReferenceSystem [as 别名]
# 或者: from qgis.core.QgsCoordinateReferenceSystem import fromEpsgId [as 别名]
def testGettersSetters(self):
m = QgsLayerMetadata()
m.setIdentifier('identifier')
self.assertEqual(m.identifier(), 'identifier')
m.setParentIdentifier('parent identifier')
self.assertEqual(m.parentIdentifier(), 'parent identifier')
m.setLanguage('en-us')
self.assertEqual(m.language(), 'en-us')
m.setType('type')
self.assertEqual(m.type(), 'type')
m.setTitle('title')
self.assertEqual(m.title(), 'title')
m.setCategories(['category'])
self.assertEqual(m.categories(), ['category'])
m.setAbstract('abstract')
self.assertEqual(m.abstract(), 'abstract')
m.setFees('fees')
self.assertEqual(m.fees(), 'fees')
m.setConstraints([QgsLayerMetadata.Constraint('constraint a'), QgsLayerMetadata.Constraint('constraint b')])
m.addConstraint(QgsLayerMetadata.Constraint('constraint c'))
self.assertEqual(m.constraints()[0].constraint, 'constraint a')
self.assertEqual(m.constraints()[1].constraint, 'constraint b')
self.assertEqual(m.constraints()[2].constraint, 'constraint c')
m.setRights(['right a', 'right b'])
self.assertEqual(m.rights(), ['right a', 'right b'])
m.setLicenses(['l a', 'l b'])
self.assertEqual(m.licenses(), ['l a', 'l b'])
m.setHistory(['loaded into QGIS'])
self.assertEqual(m.history(), ['loaded into QGIS'])
m.setHistory(['accidentally deleted some features'])
self.assertEqual(m.history(), ['accidentally deleted some features'])
m.addHistoryItem('panicked and deleted more')
self.assertEqual(m.history(), ['accidentally deleted some features', 'panicked and deleted more'])
m.setEncoding('encoding')
self.assertEqual(m.encoding(), 'encoding')
m.setCrs(QgsCoordinateReferenceSystem.fromEpsgId(3111))
self.assertEqual(m.crs().authid(), 'EPSG:3111')
示例5: testExtent
# 需要导入模块: from qgis.core import QgsCoordinateReferenceSystem [as 别名]
# 或者: from qgis.core.QgsCoordinateReferenceSystem import fromEpsgId [as 别名]
def testExtent(self):
e = QgsLayerMetadata.Extent()
se = QgsLayerMetadata.SpatialExtent()
se.extentCrs = QgsCoordinateReferenceSystem.fromEpsgId(3111)
se.bounds = QgsBox3d(1, 2, 3, 4, 5, 6)
e.setSpatialExtents([se])
e.setTemporalExtents([QgsDateTimeRange(QDateTime(QDate(2017, 1, 3), QTime(11, 34, 56)), QDateTime(QDate(2018, 1, 3), QTime(12, 35, 57)))])
m = QgsLayerMetadata()
m.setExtent(e)
extents = m.extent().spatialExtents()
self.assertEqual(extents[0].extentCrs.authid(), 'EPSG:3111')
self.assertEqual(extents[0].bounds.xMinimum(), 1.0)
self.assertEqual(extents[0].bounds.yMinimum(), 2.0)
self.assertEqual(extents[0].bounds.zMinimum(), 3.0)
self.assertEqual(extents[0].bounds.xMaximum(), 4.0)
self.assertEqual(extents[0].bounds.yMaximum(), 5.0)
self.assertEqual(extents[0].bounds.zMaximum(), 6.0)
self.assertEqual(m.extent().temporalExtents()[0].begin(), QDateTime(QDate(2017, 1, 3), QTime(11, 34, 56)))
self.assertEqual(m.extent().temporalExtents()[0].end(), QDateTime(QDate(2018, 1, 3), QTime(12, 35, 57)))
示例6: testWriterWithExtentAndReprojection
# 需要导入模块: from qgis.core import QgsCoordinateReferenceSystem [as 别名]
# 或者: from qgis.core.QgsCoordinateReferenceSystem import fromEpsgId [as 别名]
def testWriterWithExtentAndReprojection(self):
"""Check writing using extent filter with reprojection."""
source_file = os.path.join(TEST_DATA_DIR, 'points.shp')
source_layer = QgsVectorLayer(source_file, 'Points', 'ogr')
self.assertTrue(source_layer.isValid())
options = QgsVectorFileWriter.SaveVectorOptions()
options.driverName = 'ESRI Shapefile'
options.filterExtent = QgsRectangle(-12511460, 3045157, -10646621, 4683497)
options.ct = QgsCoordinateTransform(source_layer.crs(), QgsCoordinateReferenceSystem.fromEpsgId(3785), QgsProject.instance())
dest_file_name = os.path.join(str(QDir.tempPath()), 'extent_transform.shp')
write_result, error_message = QgsVectorFileWriter.writeAsVectorFormat(
source_layer,
dest_file_name,
options)
self.assertEqual(write_result, QgsVectorFileWriter.NoError, error_message)
# Open result and check
created_layer = QgsVectorLayer('{}|layerid=0'.format(dest_file_name), 'test', 'ogr')
features = [f for f in created_layer.getFeatures()]
self.assertEqual(len(features), 5)
for f in features:
self.assertTrue(f.geometry().intersects(options.filterExtent))
示例7: testCreateMemoryLayer
# 需要导入模块: from qgis.core import QgsCoordinateReferenceSystem [as 别名]
# 或者: from qgis.core.QgsCoordinateReferenceSystem import fromEpsgId [as 别名]
def testCreateMemoryLayer(self):
"""
Test QgsMemoryProviderUtils.createMemoryLayer()
"""
# no fields
layer = QgsMemoryProviderUtils.createMemoryLayer('my name', QgsFields())
self.assertTrue(layer.isValid())
self.assertEqual(layer.name(), 'my name')
self.assertTrue(layer.fields().isEmpty())
# similar layers should have unique sources
layer2 = QgsMemoryProviderUtils.createMemoryLayer('my name', QgsFields())
self.assertNotEqual(layer.source(), layer2.source())
# geometry type
layer = QgsMemoryProviderUtils.createMemoryLayer('my name', QgsFields(), QgsWkbTypes.Point)
self.assertTrue(layer.isValid())
self.assertEqual(layer.wkbType(), QgsWkbTypes.Point)
layer = QgsMemoryProviderUtils.createMemoryLayer('my name', QgsFields(), QgsWkbTypes.PolygonZM)
self.assertTrue(layer.isValid())
self.assertEqual(layer.wkbType(), QgsWkbTypes.PolygonZM)
# crs
layer = QgsMemoryProviderUtils.createMemoryLayer('my name', QgsFields(), QgsWkbTypes.PolygonZM, QgsCoordinateReferenceSystem.fromEpsgId(3111))
self.assertTrue(layer.isValid())
self.assertEqual(layer.wkbType(), QgsWkbTypes.PolygonZM)
self.assertTrue(layer.crs().isValid())
self.assertEqual(layer.crs().authid(), 'EPSG:3111')
# fields
fields = QgsFields()
fields.append(QgsField("string", QVariant.String))
fields.append(QgsField("long", QVariant.LongLong))
fields.append(QgsField("double", QVariant.Double))
fields.append(QgsField("integer", QVariant.Int))
fields.append(QgsField("date", QVariant.Date))
fields.append(QgsField("datetime", QVariant.DateTime))
fields.append(QgsField("time", QVariant.Time))
fields.append(QgsField("#complex_name", QVariant.String))
fields.append(QgsField("complex/name", QVariant.String))
layer = QgsMemoryProviderUtils.createMemoryLayer('my name', fields)
self.assertTrue(layer.isValid())
self.assertFalse(layer.fields().isEmpty())
self.assertEqual(len(layer.fields()), len(fields))
for i in range(len(fields)):
self.assertEqual(layer.fields()[i].name(), fields[i].name())
self.assertEqual(layer.fields()[i].type(), fields[i].type())
# unsupported field type
fields = QgsFields()
fields.append(QgsField("rect", QVariant.RectF))
layer = QgsMemoryProviderUtils.createMemoryLayer('my name', fields)
self.assertTrue(layer.isValid())
self.assertFalse(layer.fields().isEmpty())
self.assertEqual(layer.fields()[0].name(), 'rect')
self.assertEqual(layer.fields()[0].type(), QVariant.String) # should be mapped to string
示例8: testEquality
# 需要导入模块: from qgis.core import QgsCoordinateReferenceSystem [as 别名]
# 或者: from qgis.core.QgsCoordinateReferenceSystem import fromEpsgId [as 别名]
def testEquality(self):
# spatial extent
extent = QgsLayerMetadata.SpatialExtent()
extent.extentCrs = QgsCoordinateReferenceSystem.fromEpsgId(3111)
extent.bounds = QgsBox3d(5.0, 6.0, 7.0, 11.0, 13.0, 15.0)
extent2 = QgsLayerMetadata.SpatialExtent()
extent2.extentCrs = QgsCoordinateReferenceSystem.fromEpsgId(3111)
extent2.bounds = QgsBox3d(5.0, 6.0, 7.0, 11.0, 13.0, 15.0)
self.assertEqual(extent, extent2)
extent2.extentCrs = QgsCoordinateReferenceSystem.fromEpsgId(3113)
self.assertNotEqual(extent, extent2)
extent2.extentCrs = QgsCoordinateReferenceSystem.fromEpsgId(3111)
extent2.bounds = QgsBox3d(5.0, 6.0, 7.0, 11.0, 13.0, 16.0)
self.assertNotEqual(extent, extent2)
# extent
extent = QgsLayerMetadata.Extent()
extent1 = QgsLayerMetadata.SpatialExtent()
extent1.extentCrs = QgsCoordinateReferenceSystem.fromEpsgId(3111)
extent1.bounds = QgsBox3d(5.0, 6.0, 7.0, 11.0, 13.0, 15.0)
extent2 = QgsLayerMetadata.SpatialExtent()
extent2.extentCrs = QgsCoordinateReferenceSystem.fromEpsgId(3113)
extent2.bounds = QgsBox3d(5.0, 6.0, 7.0, 11.0, 13.0, 16.0)
extent.setSpatialExtents([extent1, extent2])
dates = [
QgsDateTimeRange(
QDateTime(QDate(2001, 12, 17), QTime(9, 30, 47)),
QDateTime(QDate(2001, 12, 17), QTime(9, 30, 47))),
QgsDateTimeRange(
QDateTime(QDate(2010, 12, 17), QTime(9, 30, 47)),
QDateTime(QDate(2020, 12, 17), QTime(9, 30, 47)))
]
extent.setTemporalExtents(dates)
extent_copy = QgsLayerMetadata.Extent(extent)
self.assertEqual(extent, extent_copy)
extent_copy.setTemporalExtents([
QgsDateTimeRange(
QDateTime(QDate(2001, 12, 17), QTime(9, 30, 47)),
QDateTime(QDate(2001, 12, 17), QTime(9, 30, 47))),
QgsDateTimeRange(
QDateTime(QDate(2010, 12, 17), QTime(9, 30, 48)),
QDateTime(QDate(2020, 12, 17), QTime(9, 30, 49)))
])
self.assertNotEqual(extent, extent_copy)
extent_copy = QgsLayerMetadata.Extent(extent)
extent3 = QgsLayerMetadata.SpatialExtent()
extent3.extentCrs = QgsCoordinateReferenceSystem.fromEpsgId(3113)
extent3.bounds = QgsBox3d(5.0, 6.0, 7.0, 11.0, 13.0, 19.0)
extent_copy.setSpatialExtents([extent1, extent3])
self.assertNotEqual(extent, extent_copy)
constraint = QgsLayerMetadata.Constraint('c', 'type1')
self.assertEqual(constraint, QgsLayerMetadata.Constraint('c', 'type1'))
self.assertNotEqual(constraint, QgsLayerMetadata.Constraint('c2', 'type1'))
self.assertNotEqual(constraint, QgsLayerMetadata.Constraint('c', 'type2'))
a = QgsLayerMetadata.Address()
a.type = 'postal'
a.address = '13 north rd'
a.city = 'huxleys haven'
a.administrativeArea = 'land of the queens'
a.postalCode = '4123'
a.country = 'straya!'
a2 = QgsLayerMetadata.Address(a)
self.assertEqual(a, a2)
a2.type = 'postal2'
self.assertNotEqual(a, a2)
a2 = QgsLayerMetadata.Address(a)
a2.address = 'address2'
self.assertNotEqual(a, a2)
a2 = QgsLayerMetadata.Address(a)
a2.city = 'city'
self.assertNotEqual(a, a2)
a2 = QgsLayerMetadata.Address(a)
a2.administrativeArea = 'area2'
self.assertNotEqual(a, a2)
a2 = QgsLayerMetadata.Address(a)
a2.postalCode = 'postal2'
self.assertNotEqual(a, a2)
a2 = QgsLayerMetadata.Address(a)
a2.country = 'country2'
self.assertNotEqual(a, a2)
c = QgsLayerMetadata.Contact()
c.name = 'name'
c.organization = 'org'
c.position = 'pos'
c.voice = '1500 515 555'
c.fax = 'fax'
c.email = 'email'
c.role = 'role'
a = QgsLayerMetadata.Address()
a.type = 'postal'
a2 = QgsLayerMetadata.Address()
a2.type = 'street'
c.addresses = [a, a2]
c2 = QgsLayerMetadata.Contact(c)
self.assertEqual(c, c2)
c2.name = 'name2'
self.assertNotEqual(c, c2)
#.........这里部分代码省略.........