def load_comboBox(self, layers):
"""Load the fields into combobox when layers are changed"""
selectedLayerIndex = self.dlg.comboBox.currentIndex()
if selectedLayerIndex < 0 or selectedLayerIndex > len(layers):
return
try:
selectedLayer = layers[selectedLayerIndex]
except:
return
fieldnames = [field.name() for field in selectedLayer.pendingFields()]
self.clear_fields()
self.dlg.comboBox_C.addItems(fieldnames)
(path, layer_id) = selectedLayer.dataProvider().dataSourceUri().split('|')
inDriver = ogr.GetDriverByName("ESRI Shapefile")
inDataSource = inDriver.Open(path, 0)
inLayer = inDataSource.GetLayer()
global type
type = inLayer.GetLayerDefn().GetGeomType()
if type == 3: # is a polygon
self.dlg.checkBox_queen.setChecked(True)
self.dlg.lineEditThreshold.setEnabled(False)
self.dlg.checkBox_optimizeDistance.setChecked(False)
self.dlg.checkBox_optimizeDistance.setEnabled(False)
self.dlg.lineEdit_minT.setEnabled(False)
self.dlg.lineEdit_maxT.setEnabled(False)
self.dlg.lineEdit_dist.setEnabled(False)
else:
self.dlg.checkBox_queen.setChecked(False)
self.dlg.lineEditThreshold.setEnabled(True)
self.dlg.checkBox_optimizeDistance.setEnabled(True)
self.dlg.lineEdit_minT.setEnabled(True)
self.dlg.lineEdit_dist.setEnabled(True)
self.dlg.lineEdit_maxT.setEnabled(True)
thresh = pysal.min_threshold_dist_from_shapefile(path)
self.dlg.lineEditThreshold.setText(str(int(thresh)))
hotspot_analysis.py 文件源码
python
阅读 25
收藏 0
点赞 0
评论 0
评论列表
文章目录