本文整理汇总了Python中safe_qgis.utilities.keyword_io.KeywordIO类的典型用法代码示例。如果您正苦于以下问题:Python KeywordIO类的具体用法?Python KeywordIO怎么用?Python KeywordIO使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了KeywordIO类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_printImpactTable
def test_printImpactTable(self):
"""Test that we can render html from impact table keywords."""
LOGGER.debug('InaSAFE HtmlRenderer testing printImpactTable')
myFilename = 'test_floodimpact.tif'
myLayer, _ = load_layer(myFilename)
myMessage = 'Layer is not valid: %s' % myFilename
assert myLayer.isValid(), myMessage
myPageDpi = 300
myHtmlRenderer = HtmlRenderer(myPageDpi)
myPath = unique_filename(prefix='impactTable',
suffix='.pdf',
dir=temp_dir('test'))
myKeywordIO = KeywordIO()
myKeywords = myKeywordIO.read_keywords(myLayer)
myPath = myHtmlRenderer.print_impact_table(myKeywords,
filename=myPath)
myMessage = 'Rendered output does not exist: %s' % myPath
assert os.path.exists(myPath), myMessage
# pdf rendering is non deterministic so we can't do a hash check
# test_renderComposition renders just the image instead of pdf
# so we hash check there and here we just do a basic minimum file
# size check.
mySize = os.stat(myPath).st_size
myExpectedSizes = [20936, # as rendered on linux ub 12.04 64
21523, # as rendered on linux ub 12.10 64
20605, # as rendered on linux ub 13.04 64
21527, # as rendered on Jenkins post 22 June 2013
377191, # as rendered on OSX
252699L, # as rendered on Windows 7 64 bit
251782L, # as rendered on Windows 8 64 bit amd
21491, # as rendered on Slackware64 14.0
]
print 'Output pdf to %s' % myPath
self.assertIn(mySize, myExpectedSizes)
开发者ID:vdeparday,项目名称:inasafe,代码行数:34,代码来源:test_html_renderer.py
示例2: show_keywords_editor
def show_keywords_editor(self):
"""Show the keywords editor."""
# import here only so that it is AFTER i18n set up
from safe_qgis.tools.keywords_dialog import KeywordsDialog
# Next block is a fix for #776
if self.iface.activeLayer() is None:
return
try:
keyword_io = KeywordIO()
keyword_io.read_keywords(self.iface.activeLayer())
except UnsupportedProviderError:
# noinspection PyUnresolvedReferences,PyCallByClass
QMessageBox.warning(
None,
self.tr('Unsupported layer type'),
self.tr(
'The layer you have selected cannot be used for '
'analysis because its data type is unsupported.'))
return
# End of fix for #776
# Fix for #793
except NoKeywordsFoundError:
# we will create them from scratch in the dialog
pass
# End of fix for #793
dialog = KeywordsDialog(
self.iface.mainWindow(),
self.iface,
self.dock_widget)
dialog.exec_() # modal
开发者ID:borysiasty,项目名称:inasafe,代码行数:33,代码来源:plugin.py
示例3: __init__
def __init__(self, theIface):
"""Constructor for the Map class.
Args:
theIface - reference to the QGIS iface object
Returns:
None
Raises:
Any exceptions raised by the InaSAFE library will be propagated.
"""
LOGGER.debug('InaSAFE Map class initialised')
self.iface = theIface
self.layer = theIface.activeLayer()
self.keywordIO = KeywordIO()
self.printer = None
self.composition = None
self.legend = None
self.pageWidth = 210 # width in mm
self.pageHeight = 297 # height in mm
self.pageDpi = 300.0
self.pageMargin = 10 # margin in mm
self.verticalSpacing = 1 # vertical spacing between elements
self.showFramesFlag = False # intended for debugging use only
# make a square map where width = height = page width
self.mapHeight = self.pageWidth - (self.pageMargin * 2)
self.mapWidth = self.mapHeight
self.disclaimer = self.tr('InaSAFE has been jointly developed by'
' BNPB, AusAid & the World Bank')
开发者ID:gsuhartono,项目名称:inasafe,代码行数:28,代码来源:map.py
示例4: __init__
def __init__(self, iface, dock=None, parent=None):
"""Constructor for the dialog.
:param iface: A Quantum GIS QGisAppInterface instance.
:type iface: QGisAppInterface
:param parent: Parent widget of this dialog
:type parent: QWidget
:param dock: Optional dock widget instance that we can notify of
changes to the keywords.
:type dock: Dock
"""
QtGui.QDialog.__init__(self, parent)
self.setupUi(self)
self.setWindowTitle(self.tr('InaSAFE %s Options' % get_version()))
# Save reference to the QGIS interface and parent
self.iface = iface
self.parent = parent
self.dock = dock
self.keywordIO = KeywordIO()
# Set up things for context help
myButton = self.buttonBox.button(QtGui.QDialogButtonBox.Help)
myButton.clicked.connect(self.show_help)
self.grpNotImplemented.hide()
self.adjustSize()
self.restore_state()
# hack prevent showing use thread visible and set it false see #557
self.cbxUseThread.setChecked(True)
self.cbxUseThread.setVisible(False)
开发者ID:CharlesRethman,项目名称:inasafe,代码行数:31,代码来源:options_dialog.py
示例5: __init__
def __init__(self, theLayer, theDpi=300, theLegendTitle=None,
theLegendNotes=None, theLegendUnits=None):
"""Constructor for the Map Legend class.
Args:
* theLayer: QgsMapLayer object that the legend should be generated
for.
* theDpi: Optional DPI for generated legend image. Defaults to
300 if not specified.
Returns:
None
Raises:
Any exceptions raised will be propagated.
"""
LOGGER.debug('InaSAFE Map class initialised')
self.legendImage = None
self.layer = theLayer
# how high each row of the legend should be
self.legendIncrement = 42
self.keywordIO = KeywordIO()
self.legendFontSize = 8
self.legendWidth = 900
self.dpi = theDpi
if theLegendTitle is None:
self.legendTitle = self.tr('Legend')
else:
self.legendTitle = theLegendTitle
self.legendNotes = theLegendNotes
self.legendUnits = theLegendUnits
开发者ID:gsuhartono,项目名称:inasafe,代码行数:29,代码来源:map_legend.py
示例6: setUp
def setUp(self):
self.keyword_io = KeywordIO()
uri = QgsDataSourceURI()
uri.setDatabase(os.path.join(TESTDATA, 'jk.sqlite'))
uri.setDataSource('', 'osm_buildings', 'Geometry')
self.sqlite_layer = QgsVectorLayer(
uri.uri(), 'OSM Buildings', 'spatialite')
hazard_path = os.path.join(HAZDATA, 'Shakemap_Padang_2009.asc')
self.raster_layer, layer_type = load_layer(
hazard_path, directory=None)
del layer_type
self.vector_layer, layer_type = load_layer('Padang_WGS84.shp')
del layer_type
self.expected_sqlite_keywords = {
'category': 'exposure',
'datatype': 'OSM',
'subcategory': 'building'}
self.expected_vector_keywords = {
'category': 'exposure',
'datatype': 'itb',
'subcategory': 'structure',
'title': 'Padang WGS84'}
self.expected_raster_keywords = {
'category': 'hazard',
'source': 'USGS',
'subcategory': 'earthquake',
'unit': 'MMI',
'title': ('An earthquake in Padang '
'like in 2009')}
开发者ID:SamudraYe,项目名称:inasafe,代码行数:29,代码来源:test_keyword_io.py
示例7: __init__
def __init__(self, iface):
"""Constructor for the Map class.
:param iface: Reference to the QGIS iface object.
:type iface: QgsAppInterface
"""
LOGGER.debug('InaSAFE Map class initialised')
self.iface = iface
self.layer = iface.activeLayer()
self.keyword_io = KeywordIO()
self.printer = None
self.composition = None
self.legend = None
self.logo = ':/plugins/inasafe/bnpb_logo.png'
self.template = ':/plugins/inasafe/inasafe.qpt'
#self.page_width = 210 # width in mm
#self.page_height = 297 # height in mm
self.page_width = 0 # width in mm
self.page_height = 0 # height in mm
self.page_dpi = 300.0
#self.page_margin = 10 # margin in mm
self.show_frames = False # intended for debugging use only
self.page_margin = None
#vertical spacing between elements
self.vertical_spacing = None
self.map_height = None
self.mapWidth = None
开发者ID:vdeparday,项目名称:inasafe,代码行数:27,代码来源:map.py
示例8: test_print_impact_table
def test_print_impact_table(self):
"""Test that we can render html from impact table keywords."""
LOGGER.debug('InaSAFE HtmlRenderer testing printImpactTable')
file_name = 'test_floodimpact.tif'
layer, _ = load_layer(file_name)
message = 'Layer is not valid: %s' % file_name
self.assertTrue(layer.isValid(), message)
page_dpi = 300
html_renderer = HtmlRenderer(page_dpi)
path = unique_filename(
prefix='impact_table',
suffix='.pdf',
dir=temp_dir('test'))
keyword_io = KeywordIO()
keywords = keyword_io.read_keywords(layer)
path = html_renderer.print_impact_table(keywords, filename=path)
message = 'Rendered output does not exist: %s' % path
self.assertTrue(os.path.exists(path), message)
# pdf rendering is non deterministic so we can't do a hash check
# test_renderComposition renders just the image instead of pdf
# so we hash check there and here we just do a basic minimum file
# size check.
size = os.stat(path).st_size
expected_sizes = [
20936, # as rendered on linux ub 12.04 64
21523, # as rendered on linux ub 12.10 64
20605, # as rendered on linux ub 13.04 64
13965, # as rendered on linux ub 13.10 64
14220, # as rendered on linux ub 13.04 64 MB
11085, # as rendered on linux ub 14.04 64 AG
17306, # as rendered on linux ub 14.04_64 TS
17127, # as rendered on linux ub 14.04_64 MB
17295, # as rendered on linux ub 14.04_64 IS
18665, # as rendered on Jenkins per 19 June 2014
377191, # as rendered on OSX
17556, # as rendered on Windows 7_32
16163L, # as rendered on Windows 7 64 bit Ultimate i3
251782L, # as rendered on Windows 8 64 bit amd
21491, # as rendered on Slackware64 14.0
18667, # as rendered on Linux Mint 14_64
]
print 'Output pdf to %s' % path
self.assertIn(size, expected_sizes)
开发者ID:cccs-ip,项目名称:inasafe,代码行数:43,代码来源:test_html_renderer.py
示例9: show_keywords_editor
def show_keywords_editor(self):
"""Show the keywords editor."""
# import here only so that it is AFTER i18n set up
from safe_qgis.tools.keywords_dialog import KeywordsDialog
# Next block is a fix for #776
if self.iface.activeLayer() is None:
return
try:
keyword_io = KeywordIO()
keyword_io.read_keywords(self.iface.activeLayer())
except UnsupportedProviderError:
# noinspection PyUnresolvedReferences,PyCallByClass
# noinspection PyTypeChecker,PyArgumentList
QMessageBox.warning(
None,
self.tr('Unsupported layer type'),
self.tr(
'The layer you have selected cannot be used for '
'analysis because its data type is unsupported.'))
return
# End of fix for #776
# Fix for #793
except NoKeywordsFoundError:
# we will create them from scratch in the dialog
pass
# End of fix for #793
# Fix for filtered-layer
except InvalidParameterError, e:
# noinspection PyTypeChecker,PyTypeChecker
QMessageBox.warning(
None,
self.tr('Invalid Layer'),
e.message)
return
开发者ID:essc,项目名称:inasafe,代码行数:36,代码来源:plugin.py
示例10: __init__
def __init__(self, iface, dock):
"""Constructor for the class."""
QDialog.__init__(self)
# Class Member
self.iface = iface
self.dock = dock
self.output_directory = None
self.exposure_layer = None
self.hazard_layer = None
self.aggregation_layer = None
self.function_id = None
self.keyword_io = KeywordIO()
# Calling some init methods
self.restore_state()
开发者ID:D2KG,项目名称:FLOOgin,代码行数:15,代码来源:save_scenario.py
示例11: __init__
def __init__(
self,
iface,
theAggregationLayer):
"""Director for aggregation based operations.
Args:
theAggregationLayer: QgsMapLayer representing clipped
aggregation. This will be converted to a memory layer inside
this class. see self.layer
Returns:
not applicable
Raises:
no exceptions explicitly raised
"""
QtCore.QObject.__init__(self)
self.hazardLayer = None
self.exposureLayer = None
self.safeLayer = None
self.prefix = 'aggr_'
self.attributes = {}
self.attributeTitle = None
self.iface = iface
self.keywordIO = KeywordIO()
self.defaults = defaults()
self.errorMessage = None
self.targetField = None
self.impactLayerAttributes = []
self.aoiMode = True
# If this flag is not True, no aggregation or postprocessing will run
# this is set as True by validateKeywords()
self.isValid = False
self.showIntermediateLayers = False
# This is used to hold an *in memory copy* of the aggregation layer
# or None if the clip extents should be used.
if theAggregationLayer is None:
self.aoiMode = True
# Will be completed in _prepareLayer just before deintersect call
self.layer = self._createPolygonLayer()
else:
self.aoiMode = False
self.layer = theAggregationLayer
开发者ID:gsuhartono,项目名称:inasafe,代码行数:47,代码来源:aggregator.py
示例12: QgisWrapper
class QgisWrapper():
"""Wrapper class to add keywords functionality to Qgis layers
"""
def __init__(self, layer, name=None):
"""Create the wrapper
:param layer: Qgis layer
:type layer: QgsMapLayer
:param name: A layer's name
:type name: Basestring or None
"""
self.data = layer
self.keyword_io = KeywordIO()
self.keywords = self.keyword_io.read_keywords(layer)
if name is None:
try:
self.name = self.get_keywords(key='title')
except KeywordNotFoundError:
pass
def get_name(self):
return self.name
def set_name(self, name):
self.name = name
def get_keywords(self, key=None):
"""Return a copy of the keywords dictionary
Args:
* key (optional): If specified value will be returned for key only
"""
if key is None:
return self.keywords.copy()
else:
if key in self.keywords:
return self.keywords[key]
else:
msg = ('Keyword %s does not exist in %s: Options are '
'%s' % (key, self.get_name(), self.keywords.keys()))
raise KeywordNotFoundError(msg)
def get_layer(self):
return self.data
开发者ID:borysiasty,项目名称:inasafe,代码行数:46,代码来源:qgis_layer_wrapper.py
示例13: __init__
def __init__(self, layer, name=None):
"""Create the wrapper
:param layer: Qgis layer
:type layer: QgsMapLayer
:param name: A layer's name
:type name: Basestring or None
"""
self.data = layer
self.keyword_io = KeywordIO()
self.keywords = self.keyword_io.read_keywords(layer)
if name is None:
try:
self.name = self.get_keywords(key='title')
except KeywordNotFoundError:
pass
开发者ID:borysiasty,项目名称:inasafe,代码行数:18,代码来源:qgis_layer_wrapper.py
示例14: __init__
def __init__(self, aggregator):
"""Director for aggregation based operations.
:param aggregator: Aggregator that will be used in conjunction with
postprocessors.
:type aggregator: Aggregator
"""
super(PostprocessorManager, self).__init__()
# Aggregation / post processing related items
self.output = {}
self.keyword_io = KeywordIO()
self.error_message = None
self.aggregator = aggregator
self.current_output_postprocessor = None
self.attribute_title = None
开发者ID:vdeparday,项目名称:inasafe,代码行数:18,代码来源:postprocessor_manager.py
示例15: __init__
def __init__(self, iface):
"""Constructor for the Map class.
:param iface: Reference to the QGIS iface object.
:type iface: QgsAppInterface
"""
LOGGER.debug('InaSAFE Map class initialised')
self.iface = iface
self.layer = iface.activeLayer()
self.keyword_io = KeywordIO()
self.printer = None
self.composition = None
self.extent = iface.mapCanvas().extent()
self.logo = ':/plugins/inasafe/bnpb_logo.png'
self.template = ':/plugins/inasafe/inasafe.qpt'
self.page_width = 0 # width in mm
self.page_height = 0 # height in mm
self.page_dpi = 300.0
self.show_frames = False # intended for debugging use only
开发者ID:opengeogroep,项目名称:inasafe,代码行数:19,代码来源:map.py
示例16: setUp
def setUp(self):
"""Fixture run before all tests"""
self.maxDiff = None # show full diff for assert errors
os.environ['LANG'] = 'en'
DOCK.show_only_visible_layers_flag = True
load_standard_layers()
DOCK.cboHazard.setCurrentIndex(0)
DOCK.cboExposure.setCurrentIndex(0)
DOCK.cboFunction.setCurrentIndex(0)
DOCK.run_in_thread_flag = False
DOCK.show_only_visible_layers_flag = False
DOCK.set_layer_from_title_flag = False
DOCK.zoom_to_impact_flag = False
DOCK.hide_exposure_flag = False
DOCK.show_intermediate_layers = False
set_jakarta_extent()
self._keywordIO = KeywordIO()
self._defaults = breakdown_defaults()
开发者ID:opengeogroep,项目名称:inasafe,代码行数:21,代码来源:test_aggregator.py
示例17: setUp
def setUp(self):
"""Fixture run before all tests"""
self.maxDiff = None # show full diff for assert errors
os.environ['LANG'] = 'en'
DOCK.showOnlyVisibleLayersFlag = True
load_standard_layers()
DOCK.cboHazard.setCurrentIndex(0)
DOCK.cboExposure.setCurrentIndex(0)
DOCK.cboFunction.setCurrentIndex(0)
DOCK.runInThreadFlag = False
DOCK.showOnlyVisibleLayersFlag = False
DOCK.setLayerNameFromTitleFlag = False
DOCK.zoomToImpactFlag = False
DOCK.hideExposureFlag = False
DOCK.showIntermediateLayers = False
set_jakarta_extent()
self.keywordIO = KeywordIO()
self.defaults = breakdown_defaults()
开发者ID:CharlesRethman,项目名称:inasafe,代码行数:21,代码来源:test_aggregator.py
示例18: __init__
def __init__(
self,
layer,
dpi=300,
legend_title=None,
legend_notes=None,
legend_units=None):
"""Constructor for the Map Legend class.
:param layer: Layer that the legend should be generated for.
:type layer: QgsMapLayer, QgsVectorLayer
:param dpi: DPI for the generated legend image. Defaults to 300 if
not specified.
:type dpi: int
:param legend_title: Title for the legend.
:type legend_title: str
:param legend_notes: Notes to display under the title.
:type legend_notes: str
:param legend_units: Units for the legend.
:type legend_units: str
"""
LOGGER.debug('InaSAFE Map class initialised')
self.legendImage = None
self.layer = layer
# how high each row of the legend should be
self.legendIncrement = 42
self.keywordIO = KeywordIO()
self.legendFontSize = 8
self.legendWidth = 900
self.dpi = dpi
if legend_title is None:
self.legendTitle = self.tr('Legend')
else:
self.legendTitle = legend_title
self.legendNotes = legend_notes
self.legendUnits = legend_units
开发者ID:opengeogroep,项目名称:inasafe,代码行数:40,代码来源:map_legend.py
示例19: __init__
def __init__(self, iface):
"""Constructor for the Map class.
:param iface: Reference to the QGIS iface object.
:type iface: QgsAppInterface
"""
LOGGER.debug('InaSAFE Map class initialised')
self.iface = iface
self.layer = iface.activeLayer()
self.keyword_io = KeywordIO()
self.printer = None
self.composition = None
self.extent = iface.mapCanvas().extent()
self.safe_logo = ':/plugins/inasafe/inasafe-logo-url.svg'
self.north_arrow = default_north_arrow_path()
self.org_logo = default_organisation_logo_path()
self.template = ':/plugins/inasafe/inasafe-portrait-a4.qpt'
self.disclaimer = disclaimer()
self.page_width = 0 # width in mm
self.page_height = 0 # height in mm
self.page_dpi = 300.0
self.show_frames = False # intended for debugging use only
开发者ID:cccs-ip,项目名称:inasafe,代码行数:22,代码来源:map.py
示例20: __init__
def __init__(
self,
theAggregator):
"""Director for aggregation based operations.
Args:
theAggregationLayer: QgsMapLayer representing clipped
aggregation. This will be converted to a memory layer inside
this class. see self.aggregator.layer
Returns:
not applicable
Raises:
no exceptions explicitly raised
"""
super(PostprocessorManager, self).__init__()
# Aggregation / post processing related items
self.postProcessingOutput = {}
self.keywordIO = KeywordIO()
self.errorMessage = None
self.aggregator = theAggregator
开发者ID:feyeandal,项目名称:inasafe,代码行数:22,代码来源:postprocessor_manager.py
注:本文中的safe_qgis.utilities.keyword_io.KeywordIO类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论