diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..a140ffd --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,16 @@ +{ + // 使用 IntelliSense 了解相关属性。 + // 悬停以查看现有属性的描述。 + // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Python: ECD", + "type": "python", + "request": "launch", + "program": "ECD.py", + "console": "integratedTerminal", + "justMyCode": true + } + ] +} \ No newline at end of file diff --git a/rscder/gui/actions.py b/rscder/gui/actions.py index 95e3e47..240e6ae 100644 --- a/rscder/gui/actions.py +++ b/rscder/gui/actions.py @@ -60,7 +60,7 @@ class ActionManager(QtCore.QObject): self.change_detection_menu = menubar.addMenu('&通用变化检测') # self.unsupervised_menu = self.change_detection_menu.addMenu(IconInstance().UNSUPERVISED, '&无监督变化检测') self.supervised_menu = self.change_detection_menu.addMenu(IconInstance().SUPERVISED,'&监督变化检测') - self.ai_menu = self.change_detection_menu.addMenu(IconInstance().AI_DETECT,'&AI变化检测') + # self.ai_menu = self.change_detection_menu.addMenu(IconInstance().AI_DETECT,'&AI变化检测') self.special_chagne_detec_menu = menubar.addMenu( '&专题变化检测') self.water_menu = self.special_chagne_detec_menu.addMenu(IconInstance().WATER_CHANGE,'&水体变化检测') self.veg_menu = self.special_chagne_detec_menu.addMenu(IconInstance().VEGETATION,'&植被变化检测') diff --git a/rscder/utils/project.py b/rscder/utils/project.py index daf539c..69ae747 100644 --- a/rscder/utils/project.py +++ b/rscder/utils/project.py @@ -367,14 +367,16 @@ class GridLayer(BasicLayer): self.cell_size = cell_size self.proj = proj + if proj == '': + geo = [0, 1, 0, 0, 0, -1] self.geo = geo - self.x_size = x_size - self.y_size = y_size + self.x_size = np.abs(x_size) + self.y_size = np.abs(y_size) self.x_min = geo[0] self.y_min = geo[3] self.x_res = geo[1] - self.y_res = geo[5] + self.y_res = -np.abs(geo[5]) self.x_max = self.x_min + self.x_res * self.x_size self.y_max = self.y_min + self.y_res * self.y_size self.x_lines = [] @@ -384,15 +386,18 @@ class GridLayer(BasicLayer): self.x_lines.pop() self.x_lines.append(self.x_max) self.y_lines = [] - for yi in range(self.y_size // self.cell_size[1]+1): + for yi in range(np.abs(self.y_size) // self.cell_size[1]+1): self.y_lines.append(self.y_min + self.y_res * yi * self.cell_size[1]) if self.y_lines[-1] < self.y_max: self.y_lines.pop() self.y_lines.append(self.y_max) crs = QgsCoordinateReferenceSystem() - crs.createFromString('WKT:{}'.format(proj)) + proj_str = '' + if proj != '': + crs.createFromString('WKT:{}'.format(proj)) + proj_str = crs.toProj() # print(crs) - lines_layer = QgsVectorLayer('LineString?crs={}'.format(crs.toProj()), 'temp-grid-outline', "memory") + lines_layer = QgsVectorLayer('LineString?crs={}'.format(proj_str), 'temp-grid-outline', "memory") if not lines_layer.isValid(): Project().message_box.error('Failed to create grid outline layer') return