本文整理汇总了Python中qgis.gui.QgsMapCanvas.mapUnits方法的典型用法代码示例。如果您正苦于以下问题:Python QgsMapCanvas.mapUnits方法的具体用法?Python QgsMapCanvas.mapUnits怎么用?Python QgsMapCanvas.mapUnits使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qgis.gui.QgsMapCanvas
的用法示例。
在下文中一共展示了QgsMapCanvas.mapUnits方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: ViewerWnd
# 需要导入模块: from qgis.gui import QgsMapCanvas [as 别名]
# 或者: from qgis.gui.QgsMapCanvas import mapUnits [as 别名]
#.........这里部分代码省略.........
self.labelAbout.setText("<html><head/><body><a href=\"http://geotux.tuxfamily.org/index.php/en/geo-blogs/item/293-consola-sql-para-plugin-pgadmin-postgis-viewer\">PostGIS Layer Viewer</a> v.1.6.1 (2015.02.24)<br \><br \>" \
"Copyright (c) 2010 Ivan Mincik,<br \>[email protected]<br \>" \
u"Copyright (c) 2011-2015 Germán Carrillo,<br \>[email protected]<br \><br \>" \
"<i>Licensed under the terms of GNU GPL v.2.0</i><br \><br \>" \
"Based on PyQGIS. Plugin Fast SQL Layer by Pablo T. Carreira.</body></html>" )
def loadLayer( self, dictOpts ):
print 'I: Loading the layer...'
self.layerSRID = dictOpts[ 'srid' ] # To access the SRID when querying layer properties
if not self.isActiveWindow():
self.activateWindow()
self.raise_()
if dictOpts['type'] == 'vector':
# QGIS connection
uri = QgsDataSourceURI()
uri.setConnection( dictOpts['-h'], dictOpts['-p'], dictOpts['-d'],
dictOpts['-U'], dictOpts['-W'] )
uri.setDataSource( dictOpts['-s'], dictOpts['-t'], dictOpts['-g'] )
layer = QgsVectorLayer( uri.uri(), dictOpts['-s'] + '.' + dictOpts['-t'],
"postgres" )
elif dictOpts['type'] == 'raster':
connString = "PG: dbname=%s host=%s user=%s password=%s port=%s mode=2 " \
"schema=%s column=%s table=%s" % ( dictOpts['-d'], dictOpts['-h'],
dictOpts['-U'], dictOpts['-W'], dictOpts['-p'], dictOpts['-s'],
dictOpts['col'], dictOpts['-t'] )
layer = QgsRasterLayer( connString, dictOpts['-s'] + '.' + dictOpts['-t'] )
if layer.isValid():
layer.setContrastEnhancement( QgsContrastEnhancement.StretchToMinimumMaximum )
self.addLayer( layer, self.layerSRID )
def addLayer( self, layer, srid='-1' ):
if layer.isValid():
# Only in case that srid != -1, read the layer SRS properties, otherwise don't since it will return 4326
if srid != '-1':
self.layerSRID = layer.crs().description() + ' (' + str( layer.crs().postgisSrid() ) + ')'
else:
self.layerSRID = 'Unknown SRS (-1)'
if self.canvas.layerCount() == 0:
self.canvas.setExtent( layer.extent() )
if srid != '-1':
print 'I: Map SRS (EPSG): %s' % self.layerSRID
self.canvas.setMapUnits( layer.crs().mapUnits() )
else:
print 'I: Unknown Reference System'
self.canvas.setMapUnits( 0 ) # 0: QGis.Meters
return QgsMapLayerRegistry.instance().addMapLayer( layer )
return False
def activeLayer( self ):
""" Returns the active layer in the layer list widget """
return self.legend.activeLayer()
def getLayerProperties( self, l ):
""" Create a layer-properties string (l:layer)"""
print 'I: Generating layer properties...'
if l.type() == 0: # Vector
wkbType = ["WKBUnknown","WKBPoint","WKBLineString","WKBPolygon",
"WKBMultiPoint","WKBMultiLineString","WKBMultiPolygon",
"WKBNoGeometry","WKBPoint25D","WKBLineString25D","WKBPolygon25D",
"WKBMultiPoint25D","WKBMultiLineString25D","WKBMultiPolygon25D"]
properties = "Source: %s\n" \
"Geometry type: %s\n" \
"Number of features: %s\n" \
"Number of fields: %s\n" \
"SRS (EPSG): %s\n" \
"Extent: %s " \
% ( l.source(), wkbType[l.wkbType()], l.featureCount(),
l.dataProvider().fields().count(), self.layerSRID,
l.extent().toString() )
elif l.type() == 1: # Raster
rType = [ "GrayOrUndefined (single band)", "Palette (single band)", "Multiband", "ColorLayer" ]
properties = "Source: %s\n" \
"Raster type: %s\n" \
"Width-Height (pixels): %sx%s\n" \
"Bands: %s\n" \
"SRS (EPSG): %s\n" \
"Extent: %s" \
% ( l.source(), rType[l.rasterType()], l.width(), l.height(),
l.bandCount(), self.layerSRID, l.extent().toString() )
self.layerSRID = '-1' # Initialize the srid
return properties
def changeScale( self, scale ):
self.lblScale.setText( "Scale 1:" + formatNumber( scale ) )
def updateXY( self, p ):
if self.canvas.mapUnits() == 2: # Degrees
self.lblXY.setText( formatToDegrees( p.x() ) + " | " \
+ formatToDegrees( p.y() ) )
else: # Unidad lineal
self.lblXY.setText( formatNumber( p.x() ) + " | " \
+ formatNumber( p.y() ) + "" )
示例2: ViewerWnd
# 需要导入模块: from qgis.gui import QgsMapCanvas [as 别名]
# 或者: from qgis.gui.QgsMapCanvas import mapUnits [as 别名]
#.........这里部分代码省略.........
print "I: Loading the layer..."
self.layerSRID = dictOpts["srid"] # To access the SRID when querying layer properties
if not self.isActiveWindow():
self.activateWindow()
self.raise_()
if dictOpts["type"] == "vector":
# QGIS connection
uri = QgsDataSourceURI()
uri.setConnection(dictOpts["-h"], dictOpts["-p"], dictOpts["-d"], dictOpts["-U"], dictOpts["-W"])
uri.setDataSource(dictOpts["-s"], dictOpts["-t"], dictOpts["-g"])
layer = QgsVectorLayer(uri.uri(), dictOpts["-s"] + "." + dictOpts["-t"], "postgres")
elif dictOpts["type"] == "raster":
connString = "PG: dbname=%s host=%s user=%s password=%s port=%s schema=%s table=%s" % (
dictOpts["-d"],
dictOpts["-h"],
dictOpts["-U"],
dictOpts["-W"],
dictOpts["-p"],
dictOpts["-s"],
dictOpts["-t"],
)
layer = QgsRasterLayer(connString, dictOpts["-s"] + "." + dictOpts["-t"])
layer.setNoDataValue(-32768)
layer.rasterTransparency().initializeTransparentPixelList(-32768)
if layer.isValid():
if self.canvas.layerCount() == 0:
self.canvas.setExtent(layer.extent())
if dictOpts["srid"] != "-1":
print "I: Map SRS (EPSG): %s" % dictOpts["srid"]
self.canvas.setMapUnits(layer.srs().mapUnits())
else:
print "I: Unknown Reference System"
self.canvas.setMapUnits(0) # 0: QGis.Meters
QgsMapLayerRegistry.instance().addMapLayer(layer)
def getLayerProperties(self, l):
""" Create a layer-properties string (l:layer)"""
print "I: Generating layer properties..."
if l.type() == 0: # Vector
wkbType = [
"WKBUnknown",
"WKBPoint",
"WKBLineString",
"WKBPolygon",
"WKBMultiPoint",
"WKBMultiLineString",
"WKBMultiPolygon",
"WKBNoGeometry",
"WKBPoint25D",
"WKBLineString25D",
"WKBPolygon25D",
"WKBMultiPoint25D",
"WKBMultiLineString25D",
"WKBMultiPolygon25D",
]
properties = (
"Source: %s\n"
"Geometry type: %s\n"
"Number of features: %s\n"
"Number of fields: %s\n"
"SRS (EPSG): %s\n"