MIERUNE / qgis-plugx-plugin

QGIS to Illustrator with PlugX
GNU General Public License v2.0
3 stars 0 forks source link

Manage multi symbol layers symbol and fix 0 feature in SHP #26

Closed bordoray closed 1 year ago

bordoray commented 1 year ago

Issue

close #17 close #19 close #27

変更内容:Description

テスト手順:Test

以下のパターンでExportする Projectと違うCRSのLayerで試し

image image

その他:Notes

bordoray commented 1 year ago

SVGとRasterの数字(0.png, 1.jpg)を判断できるために使ってます!

bordoray commented 1 year ago

ここに使ってます https://github.com/MIERUNE/plugx_qgis/blob/main/vectorlayer.py#L293 https://github.com/MIERUNE/plugx_qgis/blob/main/vectorlayer.py#L311

xinmiaooo commented 1 year ago

ここに使ってます https://github.com/MIERUNE/plugx_qgis/blob/main/vectorlayer.py#L293 https://github.com/MIERUNE/plugx_qgis/blob/main/vectorlayer.py#L311

ここをself.svg=[]にすればVectorLayerの引数に渡さなくて良いですが、どうでしょうか? https://github.com/MIERUNE/plugx_qgis/blob/83e4a26103525d74838ca47e31d4c074138aa65d/vectorlayer.py#L38

bordoray commented 1 year ago

それになったら ここにsvgs & rastersを渡さなきゃいけない https://github.com/MIERUNE/plugx_qgis/blob/main/vectorlayer.py#L328

関数にいろいろもparameter & returnで渡さなきゃいけない

vectorlayer.py

    def generate_symbols(self, rasters, svgs):
        if self.renderer_type == "categorizedSymbol":
             updated_rasters, updated_svgs = self.generate_category_symbols(rasters, svgs)
        if self.renderer_type == "singleSymbol":
             updated_rasters, updated_svgs =  self.generate_single_symbols(rasters, svgs)
        return updated_rasters, updated_svgs

    def generate_single_symbols(self, rasters, svgs):
        [...]
        symbol_dict, updated_rasters, updated_svg = self.generate_symbol_dict(symbol, rasters, svgs)
        return updated_rasters, updated_svg

    def generate_symbol_dict(symbol, rasters, svgs):

        return symbol_dict, updated_rasters, updated_svg 

    def export_raster_symbol(self, symbol_layer, rasters):
       return ...

QGIS2PlugX_dialog.py

      updated_rasters, updated_svgs = vector_layer.generate_symbols()
                svgs = updated_svgs
                rasters = updated_rasters
bordoray commented 1 year ago

export_svg_symbolexportとexport_raster_symbolに を svgs, rasters を渡したら return が複数にまって以下が壊される

symbol_layer_dict["symbol_path"] = "assets/symbol_raster/" + self.export_raster_symbol(symbol_layer)
symbol_layer_dict["symbol_path"] = "assets/symbol_svg/" + self.export_svg_symbol(symbol_layer)
bordoray commented 1 year ago

やれるけど、svgsとrastersの渡し方で複雑になってますけど、どう思いますか?