Skip to content

Commit

Permalink
Revert "Versão 4.10.1: corrige problema de criação de banco edgv 3.0 …
Browse files Browse the repository at this point in the history
…e adiciona EDGV 3.0 Pro"

This reverts commit ccbfb7a.
  • Loading branch information
phborba committed Oct 2, 2023
1 parent be1544d commit 6a1d9a5
Show file tree
Hide file tree
Showing 42 changed files with 375 additions and 2,921 deletions.
33 changes: 0 additions & 33 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,38 +10,6 @@ Correção de Bug:

- Correção de erro ao criar banco EDGV 3.0;

## 4.11.16 - dev



Novas Funcionalidades:

- Novo processo de corrigir erros de segmentação em linhas (barragem versus rodovias);
- Novo processo para validar a estrutura do banco de dados em relação ao masterfile;
- Novo processo de detectar as mudanças entre dois banco de dados, realizados em dias distintos;

Melhorias:

- O estado do Menu de classificação agora é salvo no projeto;
- Adiciona parâmetros opcionais na rotina de extração de pontos cotados;
- Melhoria de desempenho na extração de pontos cotados;
- O seletor genérico agora ignora camadas somente leitura;
- Melhoria de desempenho no processo Unir Linhas com Mesmo Conjunto de Atributos (Merge Lines With Same Attribute Set): Código refatorado para usar busca utilizando grafo. Além disso, o processo pega casos que não eram unidos anteriormente (linhas com mesmo conjunto de atributos e encadeadas);
- Melhoria de desempenho no processo Identify Unmerged Lines With Same Attribute Set: Código refatorado para usar busca utilizando grafo;

Correção de bug:

- Corrige bug de quando o usuário tenta reclassificar primitivas não compatíveis utilizando o menu de classificação;
- Corrige bug na rotina de extração de pontos cotados;
- Corrige bug de flags incorretas na rotina de identificar erros de segmentação em linhas (Identify Segment Errors Between Lines);
- Corrige bug de número de conexões ativas na ferramenta de setar estilo do banco (os métodos nativos do QGIS abrem conexão e não fecham, dessa forma derrubando todo mundo da produção por exceder o número máximo de conexões defindo no postgres.conf);
- Corrige bug no processo de verificar atributo unicode;
- Corrige bug no processo de identificar pontas soltas (retira distância mínima na busca, agora pega erro até no "mundo quântico");
- Corrige bug na ferramenta de inverter o sentido de linhas (flip lines) quando é uma camada não salva do banco de dados;
- Corrige bug na geração de moldura relativo a camada (Generate Systematic Grid Related to Layer) quando se usa memory layer (o memory layer não atualiza seu extent automaticamente, logo foi necessário colocar um layer.updateExtents() no código antes de calcular o extent);
- Corrige bug no processo de calcular azimute (estava sendo calculado com +90 graus);


## 4.10.0 - 2023-09-08

Novas Funcionalidades:
Expand All @@ -60,7 +28,6 @@ Novas Funcionalidades:
- Novo processo de ajustar parâmetros da ferramenta de aquisição com ângulos retos (integração com o FP/SAP);
- Novo processo de converter entre bancos de mesma modelagem, clipando com um polígono feito para integração com FP/SAP (ClipAndCopyFeaturesBetweenDatabasesAlgorithm);
- Novo processo de verificar ligação na moldura;
- Novo processo de cálculo do azimute;


Melhorias:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from PyQt5 import QtCore, uic, QtWidgets, QtGui
from DsgTools.Modules.qgis.controllers.qgisCtrl import QgisCtrl
import json
from qgis.core import QgsWkbTypes, QgsProject, QgsExpressionContextUtils
from qgis.core import QgsWkbTypes
from qgis.utils import iface

class AcquisitionMenuCtrl:
Expand All @@ -14,7 +14,6 @@ def __init__(self, qgis=None, widgetFactory=None):
self.addMenuTab = None
self.addMenuButton = None
self.reclassifyDialog = None
self.menuConfigs = None
self.ignoreSignal = False
self.connectQgisSignals()

Expand All @@ -26,43 +25,12 @@ def connectQgisSignals(self):
self.qgis.connectSignal("ClickLayerTreeView", self.deactiveMenu)
self.qgis.connectSignal("AddLayerTreeView", self.deactiveMenu)
self.qgis.connectSignal("StartEditing", self.deactiveMenu)
self.qgis.connectSignal("ProjectSaved", self.saveStateOnProject)
self.qgis.connectSignal("ProjectRead", self.loadStateOnProject)

def disconnectQgisSignals(self):
self.qgis.disconnectSignal("StartAddFeature", self.deactiveMenu)
self.qgis.disconnectSignal("ClickLayerTreeView", self.deactiveMenu)
self.qgis.disconnectSignal("AddLayerTreeView", self.deactiveMenu)
self.qgis.disconnectSignal("StartEditing", self.deactiveMenu)
self.qgis.disconnectSignal("ProjectSaved", self.saveStateOnProject)
self.qgis.disconnectSignal("ProjectRead", self.loadStateOnProject)

def loadStateOnProject(self):
state = json.loads(
QgsExpressionContextUtils.projectScope(QgsProject.instance()).variable(
"dsgtools_menu_state"
)
or "{}"
)
if state == {}:
return
self.createMenuDock(state)

def saveStateOnProject(self):
if self.menuConfigs is None:
return
currentProject = QgsProject.instance()
currentProject.projectSaved.disconnect(self.saveStateOnProject)
QgsExpressionContextUtils.setProjectVariable(
currentProject,
"dsgtools_menu_state",
json.dumps(self.menuConfigs),
)
currentProject.blockSignals(True)
QgsProject.instance().write()
QgsProject.instance().projectSaved.connect(self.saveStateOnProject)
currentProject.blockSignals(False)


def openMenuEditor(self):
if not self.menuEditor:
Expand Down Expand Up @@ -191,8 +159,6 @@ def createMenuDock(self, menuConfigs):
self.menuDock.setMenuWidget(self.getMenuWidget())
self.menuDock.loadMenus(menuConfigs)
self.qgis.addDockWidget(self.menuDock)
self.menuConfigs = menuConfigs
self.saveStateOnProject()

def removeMenuDock(self):
self.qgis.removeDockWidget(self.menuDock) if self.menuDock else ""
Expand Down Expand Up @@ -243,7 +209,6 @@ def validLayersToReclassification(self, buttonConfig):
noActive = l.id() != iface.activeLayer().id()
if noActive:
raise Exception("Selecione somente feições da camada que está em uso!")


def reclassify(self, buttonConfig, reclassifyData):
destinatonLayerName = buttonConfig["buttonLayer"]
Expand All @@ -262,14 +227,14 @@ def reclassify(self, buttonConfig, reclassifyData):
def getLayersForReclassification(self, layerName, geometryType):
layers = self.qgis.getLoadedVectorLayers()
geometryFilterDict = {
QgsWkbTypes.PointGeometry: (QgsWkbTypes.PointGeometry, QgsWkbTypes.PolygonGeometry),
QgsWkbTypes.LineGeometry: (QgsWkbTypes.LineGeometry, ),
QgsWkbTypes.PolygonGeometry: (QgsWkbTypes.PointGeometry, ),
QgsWkbTypes.PointGeometry: (QgsWkbTypes.PointGeometry,),
QgsWkbTypes.LineGeometry: (QgsWkbTypes.LineGeometry,),
QgsWkbTypes.PolygonGeometry: (QgsWkbTypes.PointGeometry, QgsWkbTypes.PolygonGeometry)
}
return [
l
for l in layers
if l.selectedFeatureCount() > 0 and l.geometryType() in geometryFilterDict[geometryType]
if l.selectedFeatureCount() > 0 and l.geometryType() in geometryFilterDict[l.geometryType()]
]

def activeMenuButton(self, buttonConfig):
Expand Down
5 changes: 1 addition & 4 deletions DsgTools/Modules/qgis/controllers/qgisCtrl.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,8 +122,7 @@ def getAcquisitionToolNames(self):
"Mão Livre": "FreeHand",
}

def addDockWidget(self, dockWidget, side=None):
side = side if side is not None else QtCore.Qt.LeftDockWidgetArea
def addDockWidget(self, dockWidget, side=QtCore.Qt.LeftDockWidgetArea):
iface.addDockWidget(side, dockWidget)

def removeDockWidget(self, dockWidget):
Expand Down Expand Up @@ -268,8 +267,6 @@ def getSignals(self):
"ClickLayerTreeView": iface.layerTreeView().clicked,
"AddLayerTreeView": core.QgsProject.instance().legendLayersAdded,
"StartEditing": iface.actionToggleEditing().triggered,
"ProjectSaved": core.QgsProject.instance().projectSaved,
"ProjectRead": iface.projectRead,
}

def suppressLayerForm(self, layer, suppress):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -204,14 +204,6 @@ def processAlgorithm(self, parameters, context, feedback):
return {}
if multiStepFeedback is not None:
multiStepFeedback.pushInfo(self.tr("Commiting changes"))
if len(outputLayerDict) > 0:
self.commitChanges(multiStepFeedback, outputLayerDict)
if not loadDestinationLayers:
for lyrName, lyr in outputLayerDict.items():
QgsProject.instance().removeMapLayer(lyr.id())
return {}

def commitChanges(self, multiStepFeedback, outputLayerDict):
stepSize = 100 / len(outputLayerDict)
for current, (lyrName, lyr) in enumerate(outputLayerDict.items()):
if multiStepFeedback is not None:
Expand All @@ -221,6 +213,10 @@ def commitChanges(self, multiStepFeedback, outputLayerDict):
lyr.commitChanges()
if multiStepFeedback is not None:
multiStepFeedback.setProgress(current * stepSize)
if not loadDestinationLayers:
for lyrName, lyr in outputLayerDict.items():
QgsProject.instance().removeMapLayer(lyr.id())
return {}

def getLayersFromDbConnectionName(
self,
Expand Down Expand Up @@ -273,28 +269,20 @@ def clipInputLayerList(self, inputLayerList, geom, context, feedback):
if feedback is not None
else None
)
clipLayer = (
self.layerHandler.createMemoryLayerFromGeometry(
geom=geom, crs=QgsProject.instance().crs()
)
if geom is not None
else None
)
clipLayer = self.layerHandler.createMemoryLayerFromGeometry(
geom=geom, crs=QgsProject.instance().crs()
) if geom is not None else None
for currentIdx, lyr in enumerate(inputLayerList):
if multiStepFeedback is not None and multiStepFeedback.isCanceled():
return outputDict
if multiStepFeedback is not None:
multiStepFeedback.setCurrentStep(2 * currentIdx)
clippedLyr = (
self.algRunner.runClip(
inputLayer=lyr,
overlayLayer=clipLayer,
context=context,
feedback=multiStepFeedback,
)
if clipLayer is not None
else lyr
)
clippedLyr = self.algRunner.runClip(
inputLayer=lyr,
overlayLayer=clipLayer,
context=context,
feedback=multiStepFeedback,
) if clippedLyr is not None else lyr
if multiStepFeedback is not None:
multiStepFeedback.setCurrentStep(2 * currentIdx + 1)
outputDict[lyr.name()] = self.algRunner.runCreateFieldWithExpression(
Expand Down
Loading

0 comments on commit 6a1d9a5

Please sign in to comment.