Exemple #1
0
    def setUp(cls):
        """
        Runs before each test.
        """

        if not plugins.get("NZGBplugin"):
            pass
        else:
            cls.gazetteer_plugin = plugins.get("NZGBplugin")
            cls.gazetteer_plugin._runaction.trigger()
    def setUp(self):
        """
        Runs before each test
        """

        # Get reference to plugin
        self.ldi = plugins.get("linz-data-importer")

        # Dont run cache update
        self.ldi.services_loaded = False
        self.ldi.update_cache = False

        # Domain to run test against (lds only service with all WxS)
        domain = "data.linz.govt.nz"
        self.api_key_instance = self.ldi.api_key_instance
        self.api_key_instance.set_api_keys({domain: API_KEYS[domain]})

        # Test data dir and plugin settigns dir
        self.test_dir = os.path.dirname(os.path.realpath(__file__))
        self.test_data_dir = os.path.join(self.test_dir, "data")
        self.pl_settings_dir = os.path.join(
            QgsApplication.qgisSettingsDirPath(), "linz-data-importer")

        # Delete all service xml files in plugin settigns dir
        os.chdir(self.pl_settings_dir)
        cache_files = glob.glob("*_*_[0-9]*.xml")
        for file in cache_files:
            os.remove(os.path.join(self.pl_settings_dir, file))

        # Copy in /test/data service xml to save time if they exist.
        # In most cases they dont as I can not make available with API Key
        # via github. If these are not avilable wfs will be fetch for data portal
        os.chdir(self.test_data_dir)

        test_files = glob.glob("data.linz.govt.nz_*_[0-9]*.xml")
        for file in test_files:
            file = os.path.join(self.test_data_dir, file)
            # if os.path.exists(file):
            shutil.copy(file, self.pl_settings_dir)

        # Copy in corrupt file for the test
        os.chdir(self.pl_settings_dir)
        wmts_files = glob.glob("data.linz.govt.nz_wmts_*.xml")
        if wmts_files:
            os.remove(os.path.join(self.pl_settings_dir, wmts_files[0]))
        corr_file_name = "data.linz.govt.nz_wmts_corrupt.xml"
        corr_file = os.path.join(self.test_data_dir, corr_file_name)  # src
        shutil.copy(corr_file, self.pl_settings_dir)

        # Rename
        new_corr_file = os.path.join(self.pl_settings_dir, corr_file_name)
        name_file_to = os.path.join(
            self.pl_settings_dir,
            corr_file_name.replace("_corrupt", "_20181025141022"))
        os.rename(new_corr_file, name_file_to)
        QTest.qWait(WAIT)
    def __init__(self, iface, tile_name, tile_credit, tile_url, tile_zmin,
                 tile_zmax, tile_bbox):

        QgsMapCanvas.__init__(self)
        self.iface = iface
        self.setWheelAction(QgsMapCanvas.WheelZoom, 1)
        self.setDestinationCrs(
            self.iface.mapCanvas().mapSettings().destinationCrs())
        self.setCrsTransformEnabled(True)

        self.iface.mapCanvas().destinationCrsChanged.connect(self.onCrsChanged)
        self.iface.mapCanvas().extentsChanged.connect(self.onExtentsChanged)
        self.iface.mapCanvas().scaleChanged.connect(self.onScaleChanged)

        layerdef = TileLayerDefinition(tile_name,
                                       tile_credit,
                                       tile_url,
                                       zmin=tile_zmin,
                                       zmax=tile_zmax,
                                       bbox=tile_bbox)
        creditVisibility = True

        plugin = plugins.get("TileLayerPlugin")
        self.chirin_layer = TileLayer(plugin, layerdef, creditVisibility)
        QgsMapLayerRegistry.instance().addMapLayer(self.chirin_layer, False)

        self.meshPolyLayer = QgsVectorLayer("polygon?crs=postgis:4612",
                                            u"地域メッシュインデックス", "memory")

        renderer = self.meshPolyLayer.rendererV2()
        renderer.symbols()[0].symbolLayers()[0].setFillColor(
            QtGui.QColor(0, 0, 0, 0))
        renderer.symbols()[0].symbolLayers()[0].setBorderWidth(0.1)

        self.meshPolyLayer.label().setLabelField(0, 0)

        self.meshPolyLayer.startEditing()
        self.meshPolyLayer.addAttribute(
            QgsField("meshC", QtCore.QVariant.String))
        self.meshPolyLayer.commitChanges()

        QgsMapLayerRegistry.instance().addMapLayer(self.meshPolyLayer, False)

        main_crs = self.iface.mapCanvas().mapSettings().destinationCrs()
        self.Trs_laln = QgsCoordinateTransform(
            main_crs, QgsCoordinateReferenceSystem(4612))
        self.redraw_mesh()

        layers = []
        layers.append(QgsMapCanvasLayer(self.meshPolyLayer))
        layers.append(QgsMapCanvasLayer(self.chirin_layer))

        self.setLayerSet(layers)
        self.setExtent(self.iface.mapCanvas().extent())
        self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
        self.resize(self.iface.mapCanvas().size() / 2)
    def __init__(self,iface,tile_name,tile_credit,tile_url,tile_zmin,tile_zmax,tile_bbox):
    
        QgsMapCanvas.__init__(self)
        self.iface = iface
        self.setWheelAction(QgsMapCanvas.WheelZoom,1)
        self.setDestinationCrs(self.iface.mapCanvas().mapSettings().destinationCrs())
        self.setCrsTransformEnabled(True)
        
        self.iface.mapCanvas().destinationCrsChanged.connect(self.onCrsChanged)
        self.iface.mapCanvas().extentsChanged.connect(self.onExtentsChanged)
        self.iface.mapCanvas().scaleChanged.connect(self.onScaleChanged)
        
        layerdef = TileLayerDefinition(tile_name,
                                       tile_credit,
                                       tile_url,
                                       zmin=tile_zmin,
                                       zmax=tile_zmax,
                                       bbox=tile_bbox)
        creditVisibility=True

        plugin = plugins.get("TileLayerPlugin")
        self.chirin_layer = TileLayer(plugin,layerdef, creditVisibility)
        QgsMapLayerRegistry.instance().addMapLayer(self.chirin_layer,False)
        
        self.meshPolyLayer = QgsVectorLayer("polygon?crs=postgis:4612",u"地域メッシュインデックス","memory")
        
        renderer = self.meshPolyLayer.rendererV2()
        renderer.symbols()[0].symbolLayers()[0].setFillColor(QtGui.QColor(0,0,0,0))
        renderer.symbols()[0].symbolLayers()[0].setBorderWidth(0.1)
        
        self.meshPolyLayer.label().setLabelField(0,0)
        
        self.meshPolyLayer.startEditing()
        self.meshPolyLayer.addAttribute(QgsField("meshC",QtCore.QVariant.String))
        self.meshPolyLayer.commitChanges()
        
        QgsMapLayerRegistry.instance().addMapLayer(self.meshPolyLayer,False)
        
        main_crs =  self.iface.mapCanvas().mapSettings().destinationCrs()
        self.Trs_laln = QgsCoordinateTransform(main_crs,QgsCoordinateReferenceSystem(4612))
        self.redraw_mesh()
             
        layers = []
        layers.append(QgsMapCanvasLayer(self.meshPolyLayer))
        layers.append(QgsMapCanvasLayer(self.chirin_layer))
        
        self.setLayerSet(layers)
        self.setExtent( self.iface.mapCanvas().extent() )
        self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
        self.resize(self.iface.mapCanvas().size()/2)
    def setUp(self):
        # 1. create six files
        # 2. three suffixed with one date three with the other
        # 3. Run the purge. Should only be the newest left.
        self.ldi = plugins.get("linz-data-importer")
        self.pl_settings_dir = os.path.join(
            QgsApplication.qgisSettingsDirPath(), "linz-data-importer")

        self.old_file1 = "data.govt.test.nz_wfs_000000000000001.xml"
        self.old_file2 = "data.govt.test.nz_wfs_000000000000003.xml"
        self.new_file = "data.govt.test.nz_wfs_999999999999999.xml"
        self.test_files = [self.old_file1, self.old_file2, self.new_file]

        os.chdir(self.pl_settings_dir)
        for file in self.test_files:
            with open(file, "w") as file_pointer:
                file_pointer.write("")
    def setUp(self):
        """
        Runs before each test
        """

        self.domain1 = "data.mfe.govt.nz"
        self.domain2 = "data.linz.govt.nz"
        self.copy_test_data()

        self.ldi = plugins.get("linz-data-importer")
        self.ldi.selection_model.blockSignals(True)
        self.api_key_instance = self.ldi.api_key_instance
        self.api_key_instance.set_api_keys(
            {self.domain1: API_KEYS[self.domain1]})
        self.ldi.load_settings()
        self.ldi.update_cache = False
        self.ldi.services_loaded = True
        # Run
        self.ldi.actions[0].trigger()
    def setUp(self):
        """
        Runs before each test
        """

        self.ldi = plugins.get("linz-data-importer")
        self.ldi.update_cache = False
        self.ldi.services_loaded = False

        self.api_key_instance = self.ldi.api_key_instance
        keys = {
            key: API_KEYS[key]
            for key in API_KEYS.keys()
            & {"data.linz.govt.nz", "basemaps.linz.govt.nz"}
        }
        self.api_key_instance.set_api_keys(keys)

        self.ldi.selected_crs = "ESPG:2193"
        self.ldi.selected_crs_int = 2193

        # Run
        self.ldi.actions[0].trigger()
Exemple #8
0
def configure_from_modelbaker(iface):
    """
    Configures config.JAVA/ILI2PG paths using modelbaker.
    Returns whether modelbaker is available, and displays instructions if not.
    """
    REQUIRED_VERSION = "v6.4.0"  # TODO : update once https://github.com/opengisch/QgisModelBaker/pull/473 is released
    modelbaker = plugins.get("QgisModelBaker")
    if modelbaker is None:
        iface.messageBar().pushMessage(
            "Error",
            "This feature requires the ModelBaker plugin. Please install and activate it from the plugin manager.",
            level=Qgis.Critical,
        )
        return False

    elif modelbaker.__version__ != "dev" and parse_version(
            modelbaker.__version__) < parse_version(REQUIRED_VERSION):
        iface.messageBar().pushMessage(
            "Error",
            f"This feature requires a more recent version of the ModelBaker plugin (currently : {modelbaker.__version__}). Please install and activate version {REQUIRED_VERSION} or newer from the plugin manager.",
            level=Qgis.Critical,
        )
        return False

    # We reuse modelbaker's logic to get the java path and ili2pg executables from withing QGIS
    # Maybe we could reuse even more (IliExecutable...) ?

    stdout = SimpleNamespace()
    stdout.emit = logger.info
    stderr = SimpleNamespace()
    stderr.emit = logger.error

    config.JAVA = ili2dbutils.get_java_path(ili2dbconfig.BaseConfiguration())
    config.ILI2PG = ili2dbutils.get_ili2db_bin(globals.DbIliMode.ili2pg, 4,
                                               stdout, stderr)

    return True
 def setUpClass(cls):
     """Runs at TestCase init."""
     cls.scriptassistant = plugins.get("scriptassistant")
     cls.dlg = cls.scriptassistant.dlg_settings
 def setUp(self):
     """Runs before each test."""
     self.scriptassistant = plugins.get("scriptassistant")