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


Python PluginManager.findDEMProvider方法代码示例

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


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

示例1: __init__

# 需要导入模块: from pluginmanager import PluginManager [as 别名]
# 或者: from pluginmanager.PluginManager import findDEMProvider [as 别名]

#.........这里部分代码省略.........
    import json
    with open(filepath) as f:
      settings = json.load(f)
    self.loadSettings(settings)

  def setTemplatePath(self, filepath):
    """filepath: relative path from html_templates directory or absolute path to a template html file"""
    self.templatePath = filepath
    self._templateConfig = None

  def setOutputFilename(self, filepath=None):
    if not filepath:
      filepath = tools.temporaryOutputDir() + "/%s.html" % self.timestamp   # temporary file
    self.htmlfilename = filepath
    self.path_root = os.path.splitext(filepath)[0]
    self.htmlfiletitle = os.path.basename(self.path_root)
    self.title = self.htmlfiletitle

  def setMapCanvas(self, canvas):
    self.setMapSettings(canvas.mapSettings() if QGis.QGIS_VERSION_INT >= 20300 else canvas.mapRenderer())
    self.canvas = canvas

  def setMapSettings(self, settings):
    """settings: QgsMapSettings (QGIS >= 2.3) or QgsMapRenderer"""
    self.canvas = None
    self.mapSettings = settings

    self.baseExtent = RotatedRect.fromMapSettings(settings)
    self.crs = settings.destinationCrs()

  def demProvider(self):
    layerId = self.data.get(ObjectTreeItem.ITEM_DEM, {}).get("comboBox_DEMLayer", 0)
    return self.demProviderByLayerId(layerId)

  def mapTo3d(self):
    if self._mapTo3d:
      return self._mapTo3d

    if self.mapSettings is None:
      return None

    world = self.data.get(ObjectTreeItem.ITEM_WORLD, {})
    baseSize = world.get("lineEdit_BaseSize", def_vals.baseSize)
    verticalExaggeration = world.get("lineEdit_zFactor", def_vals.zExaggeration)
    verticalShift = world.get("lineEdit_zShift", def_vals.zShift)
    self._mapTo3d = MapTo3D(self.mapSettings, float(baseSize), float(verticalExaggeration), float(verticalShift))
    return self._mapTo3d

  def quadtree(self):
    if self._quadtree:
      self._quadtree

    if self.baseExtent is None:
      return

    properties = self.data.get(ObjectTreeItem.ITEM_DEM, {})
    self._quadtree = createQuadTree(self.baseExtent, properties)
    return self._quadtree

  def templateConfig(self):
    if self._templateConfig:
      return self._templateConfig

    if not self.templatePath:
      self.setTemplatePath(def_vals.template)

    self._templateConfig = tools.getTemplateConfig(self.templatePath)
    return self._templateConfig

  def wgs84Center(self):
    if self.crs and self.baseExtent:
      wgs84 = QgsCoordinateReferenceSystem(4326)
      transform = QgsCoordinateTransform(self.crs, wgs84)
      return transform.transform(self.baseExtent.center())
    return None

  def get(self, key, default=None):
    return self.data.get(key, default)

  def checkValidity(self):
    """check validity of export settings. return error message as unicode. return None if valid."""
    if self.exportMode == ExportSettings.PLAIN_MULTI_RES and self.quadtree() is None:
      return u"Focus point/area is not selected."
    return None

  def demProviderByLayerId(self, id):
    if not id:
      return FlatDEMProvider()

    if id.startswith("plugin:"):
      provider = self.pluginManager.findDEMProvider(id[7:])
      if provider:
        return provider(str(self.crs.toWkt()))

      logMessage('Plugin "{0}" not found'.format(id))
      return FlatDEMProvider()

    else:
      layer = QgsMapLayerRegistry.instance().mapLayer(id)
      return GDALDEMProvider(layer.source(), str(self.crs.toWkt()), source_wkt=str(layer.crs().toWkt()))    # use CRS set to the layer in QGIS
开发者ID:biapar,项目名称:Qgis2threejs,代码行数:104,代码来源:exportsettings.py


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