Skip to content

Commit e2028e1

Browse files
committed
Merge pull request #35 from clusterpy/compiled_plugin
Compiled plugin on master making possible to unzip and use from the Download ZIP button.
2 parents bf196e6 + 55eda2a commit e2028e1

8 files changed

Lines changed: 3261 additions & 39 deletions

File tree

.gitattributes

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
resources_rc.py -crlf -diff
2+
uifiles/ui_about.py -crlf -diff
3+
uifiles/ui_maxp.py -crlf -diff

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,18 @@ a free and Open Source Geographic Information System.
1515

1616
##More information
1717
* For plugin developer information, see the [PyQGIS Developer Cookbook](http://www.qgis.org/pyqgis-cookbook/index.html)
18-
* For information about the algorithms and Clusterpy, visit the full [Clusterpy-doc](http://www.rise-group.org/risem/clusterpy/index.html#)
18+
* For information about the algorithms and Clusterpy, visit the full [Clusterpy-doc](http://www.rise-group.org/risem/clusterpy/index.html#)
1919

2020
##Cite the plugin
2121
If you are interested in citing this plugin, you can use:
2222

23-
Duque, J.C.; Botero, Sergio (2014). Clusterpy QGIS plugin, Version 1.0 RiSE-group (Research in Spatial Economics). EAFIT University. http://www.rise-group.org.
23+
Duque, J.C.; Botero, Sergio (2014). Clusterpy QGIS plugin, Version 0.11-preview RiSE-group (Research in Spatial Economics). EAFIT University. http://www.rise-group.org.
2424

2525
Or this BibTeX entry:
2626
```
2727
@Manual{clusterpy-qgis-plugin,
2828
title = {Clusterpy QGIS plugin,
29-
{Version} 1.0.0},
29+
{Version} 0.11-preview},
3030
author = {Duque, Juan C. and Botero, Sergio},
3131
organization = {RiSE-group (Research in Spatial Economics). EAFIT University.},
3232
address = {Colombia},

Vagrantfile

Lines changed: 0 additions & 32 deletions
This file was deleted.

metadata.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
name=Clusterpy - Spatially constrained clustering
55
qgisMinimumVersion=2.0
66
description=Clusterpy plugin version for QGIS
7-
version=0.10-preview
7+
version=0.11-preview
88
author=RISE Group Universidad EAFIT
99
email=software@rise-group.org
1010

@@ -24,4 +24,3 @@ experimental=False
2424

2525
# deprecated flag (applies to the whole plugin, not just a single version
2626
deprecated=False
27-

resources_rc.py

Lines changed: 3014 additions & 0 deletions
Large diffs are not rendered by default.

uifiles/about.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ <h2>Research in Spatial Economics</h2>
99
<h3>Cite the Plugin</h3>
1010
If you are interested in citing this plugin, you can use:
1111
<p>
12-
Duque, J.C.; Botero, Sergio (2014). Clusterpy QGIS plugin, Version 1.0 RiSE-group (Research in Spatial Economics). EAFIT University. http://www.rise-group.org.
12+
Duque, J.C.; Botero, Sergio (2014). Clusterpy QGIS plugin, Version 0.11-preview RiSE-group (Research in Spatial Economics). EAFIT University. http://www.rise-group.org.
1313
</p>
1414
Or this BibTeX entry:
1515
<pre><code>
1616
@Manual{clusterpy-qgis-plugin,
1717
title = {Clusterpy QGIS plugin,
18-
{Version} 1.0.0},
18+
{Version} 0.11-preview},
1919
author = {Duque, Juan C. and Botero, Sergio},
2020
organization = {RiSE-group (Research in Spatial Economics). EAFIT University.},
2121
address = {Colombia},

uifiles/ui_about.py

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# -*- coding: utf-8 -*-
2+
3+
# Form implementation generated from reading ui file 'uifiles/ui_about.ui'
4+
#
5+
# Created: Fri Jun 6 21:56:18 2014
6+
# by: PyQt4 UI code generator 4.10.4
7+
#
8+
# WARNING! All changes made in this file will be lost!
9+
10+
from PyQt4 import QtCore, QtGui
11+
12+
try:
13+
_fromUtf8 = QtCore.QString.fromUtf8
14+
except AttributeError:
15+
def _fromUtf8(s):
16+
return s
17+
18+
try:
19+
_encoding = QtGui.QApplication.UnicodeUTF8
20+
def _translate(context, text, disambig):
21+
return QtGui.QApplication.translate(context, text, disambig, _encoding)
22+
except AttributeError:
23+
def _translate(context, text, disambig):
24+
return QtGui.QApplication.translate(context, text, disambig)
25+
26+
class Ui_about(object):
27+
def setupUi(self, about):
28+
about.setObjectName(_fromUtf8("about"))
29+
about.resize(422, 578)
30+
about.setMinimumSize(QtCore.QSize(422, 578))
31+
about.setMaximumSize(QtCore.QSize(422, 578))
32+
self.buttonBox = QtGui.QDialogButtonBox(about)
33+
self.buttonBox.setGeometry(QtCore.QRect(120, 530, 166, 33))
34+
self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
35+
self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Close)
36+
self.buttonBox.setCenterButtons(True)
37+
self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
38+
self.help_browser = QtGui.QTextBrowser(about)
39+
self.help_browser.setGeometry(QtCore.QRect(10, 20, 401, 501))
40+
self.help_browser.setHtml(_fromUtf8("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
41+
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
42+
"p, li { white-space: pre-wrap; }\n"
43+
"</style></head><body style=\" font-family:\'Sans Serif\'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
44+
"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><br /></p></body></html>"))
45+
self.help_browser.setAcceptRichText(False)
46+
self.help_browser.setOpenExternalLinks(True)
47+
self.help_browser.setObjectName(_fromUtf8("help_browser"))
48+
49+
self.retranslateUi(about)
50+
QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), about.accept)
51+
QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), about.reject)
52+
QtCore.QMetaObject.connectSlotsByName(about)
53+
54+
def retranslateUi(self, about):
55+
about.setWindowTitle(_translate("about", "clusterpy_light", None))
56+

uifiles/ui_maxp.py

Lines changed: 182 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,182 @@
1+
# -*- coding: utf-8 -*-
2+
3+
# Form implementation generated from reading ui file 'uifiles/ui_maxp.ui'
4+
#
5+
# Created: Fri Jun 6 21:56:18 2014
6+
# by: PyQt4 UI code generator 4.10.4
7+
#
8+
# WARNING! All changes made in this file will be lost!
9+
10+
from PyQt4 import QtCore, QtGui
11+
12+
try:
13+
_fromUtf8 = QtCore.QString.fromUtf8
14+
except AttributeError:
15+
def _fromUtf8(s):
16+
return s
17+
18+
try:
19+
_encoding = QtGui.QApplication.UnicodeUTF8
20+
def _translate(context, text, disambig):
21+
return QtGui.QApplication.translate(context, text, disambig, _encoding)
22+
except AttributeError:
23+
def _translate(context, text, disambig):
24+
return QtGui.QApplication.translate(context, text, disambig)
25+
26+
class Ui_maxp_ui(object):
27+
def setupUi(self, maxp_ui):
28+
maxp_ui.setObjectName(_fromUtf8("maxp_ui"))
29+
maxp_ui.resize(422, 578)
30+
maxp_ui.setMinimumSize(QtCore.QSize(422, 578))
31+
maxp_ui.setMaximumSize(QtCore.QSize(422, 578))
32+
self.buttonBox = QtGui.QDialogButtonBox(maxp_ui)
33+
self.buttonBox.setGeometry(QtCore.QRect(210, 530, 166, 33))
34+
self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
35+
self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
36+
self.buttonBox.setCenterButtons(True)
37+
self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
38+
self.tabWidget = QtGui.QTabWidget(maxp_ui)
39+
self.tabWidget.setGeometry(QtCore.QRect(20, 20, 381, 501))
40+
self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
41+
self.tab = QtGui.QWidget()
42+
self.tab.setObjectName(_fromUtf8("tab"))
43+
self.groupBox = QtGui.QGroupBox(self.tab)
44+
self.groupBox.setGeometry(QtCore.QRect(20, 20, 331, 171))
45+
self.groupBox.setMinimumSize(QtCore.QSize(331, 0))
46+
self.groupBox.setObjectName(_fromUtf8("groupBox"))
47+
self.formLayoutWidget_2 = QtGui.QWidget(self.groupBox)
48+
self.formLayoutWidget_2.setGeometry(QtCore.QRect(20, 20, 291, 138))
49+
self.formLayoutWidget_2.setObjectName(_fromUtf8("formLayoutWidget_2"))
50+
self.formLayout_2 = QtGui.QFormLayout(self.formLayoutWidget_2)
51+
self.formLayout_2.setMargin(0)
52+
self.formLayout_2.setSpacing(12)
53+
self.formLayout_2.setObjectName(_fromUtf8("formLayout_2"))
54+
self.label_5 = QtGui.QLabel(self.formLayoutWidget_2)
55+
self.label_5.setObjectName(_fromUtf8("label_5"))
56+
self.formLayout_2.setWidget(0, QtGui.QFormLayout.LabelRole, self.label_5)
57+
self.label_6 = QtGui.QLabel(self.formLayoutWidget_2)
58+
self.label_6.setObjectName(_fromUtf8("label_6"))
59+
self.formLayout_2.setWidget(1, QtGui.QFormLayout.LabelRole, self.label_6)
60+
self.label_7 = QtGui.QLabel(self.formLayoutWidget_2)
61+
self.label_7.setObjectName(_fromUtf8("label_7"))
62+
self.formLayout_2.setWidget(3, QtGui.QFormLayout.LabelRole, self.label_7)
63+
self.threshold_spin = QtGui.QDoubleSpinBox(self.formLayoutWidget_2)
64+
self.threshold_spin.setProperty("value", 99.99)
65+
self.threshold_spin.setObjectName(_fromUtf8("threshold_spin"))
66+
self.formLayout_2.setWidget(3, QtGui.QFormLayout.FieldRole, self.threshold_spin)
67+
self.attribute_combo = QtGui.QComboBox(self.formLayoutWidget_2)
68+
self.attribute_combo.setObjectName(_fromUtf8("attribute_combo"))
69+
self.formLayout_2.setWidget(1, QtGui.QFormLayout.FieldRole, self.attribute_combo)
70+
self.layer_combo = QtGui.QComboBox(self.formLayoutWidget_2)
71+
self.layer_combo.setObjectName(_fromUtf8("layer_combo"))
72+
self.formLayout_2.setWidget(0, QtGui.QFormLayout.FieldRole, self.layer_combo)
73+
self.label_8 = QtGui.QLabel(self.formLayoutWidget_2)
74+
self.label_8.setObjectName(_fromUtf8("label_8"))
75+
self.formLayout_2.setWidget(2, QtGui.QFormLayout.LabelRole, self.label_8)
76+
self.threshold_attr_combo = QtGui.QComboBox(self.formLayoutWidget_2)
77+
self.threshold_attr_combo.setObjectName(_fromUtf8("threshold_attr_combo"))
78+
self.formLayout_2.setWidget(2, QtGui.QFormLayout.FieldRole, self.threshold_attr_combo)
79+
self.groupBox_2 = QtGui.QGroupBox(self.tab)
80+
self.groupBox_2.setGeometry(QtCore.QRect(20, 270, 331, 111))
81+
self.groupBox_2.setMinimumSize(QtCore.QSize(331, 0))
82+
self.groupBox_2.setObjectName(_fromUtf8("groupBox_2"))
83+
self.formLayoutWidget = QtGui.QWidget(self.groupBox_2)
84+
self.formLayoutWidget.setGeometry(QtCore.QRect(20, 20, 291, 81))
85+
self.formLayoutWidget.setObjectName(_fromUtf8("formLayoutWidget"))
86+
self.formLayout = QtGui.QFormLayout(self.formLayoutWidget)
87+
self.formLayout.setFieldGrowthPolicy(QtGui.QFormLayout.AllNonFixedFieldsGrow)
88+
self.formLayout.setMargin(0)
89+
self.formLayout.setSpacing(12)
90+
self.formLayout.setObjectName(_fromUtf8("formLayout"))
91+
self.tabumax_spin = QtGui.QSpinBox(self.formLayoutWidget)
92+
self.tabumax_spin.setMinimum(1)
93+
self.tabumax_spin.setProperty("value", 5)
94+
self.tabumax_spin.setObjectName(_fromUtf8("tabumax_spin"))
95+
self.formLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.tabumax_spin)
96+
self.label_4 = QtGui.QLabel(self.formLayoutWidget)
97+
self.label_4.setObjectName(_fromUtf8("label_4"))
98+
self.formLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.label_4)
99+
self.tabulength_spin = QtGui.QSpinBox(self.formLayoutWidget)
100+
self.tabulength_spin.setMinimum(1)
101+
self.tabulength_spin.setProperty("value", 5)
102+
self.tabulength_spin.setObjectName(_fromUtf8("tabulength_spin"))
103+
self.formLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.tabulength_spin)
104+
self.label_3 = QtGui.QLabel(self.formLayoutWidget)
105+
self.label_3.setObjectName(_fromUtf8("label_3"))
106+
self.formLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.label_3)
107+
self.browse_button = QtGui.QPushButton(self.tab)
108+
self.browse_button.setGeometry(QtCore.QRect(280, 410, 80, 26))
109+
self.browse_button.setObjectName(_fromUtf8("browse_button"))
110+
self.layer_path = QtGui.QLineEdit(self.tab)
111+
self.layer_path.setGeometry(QtCore.QRect(20, 410, 241, 25))
112+
self.layer_path.setObjectName(_fromUtf8("layer_path"))
113+
self.label = QtGui.QLabel(self.tab)
114+
self.label.setGeometry(QtCore.QRect(20, 390, 91, 16))
115+
self.label.setObjectName(_fromUtf8("label"))
116+
self.add_canvas = QtGui.QCheckBox(self.tab)
117+
self.add_canvas.setGeometry(QtCore.QRect(20, 440, 341, 21))
118+
self.add_canvas.setObjectName(_fromUtf8("add_canvas"))
119+
self.groupBox_3 = QtGui.QGroupBox(self.tab)
120+
self.groupBox_3.setGeometry(QtCore.QRect(20, 200, 331, 61))
121+
self.groupBox_3.setObjectName(_fromUtf8("groupBox_3"))
122+
self.formLayoutWidget_3 = QtGui.QWidget(self.groupBox_3)
123+
self.formLayoutWidget_3.setGeometry(QtCore.QRect(20, 20, 291, 31))
124+
self.formLayoutWidget_3.setObjectName(_fromUtf8("formLayoutWidget_3"))
125+
self.formLayout_3 = QtGui.QFormLayout(self.formLayoutWidget_3)
126+
self.formLayout_3.setMargin(0)
127+
self.formLayout_3.setSpacing(12)
128+
self.formLayout_3.setObjectName(_fromUtf8("formLayout_3"))
129+
self.label_2 = QtGui.QLabel(self.formLayoutWidget_3)
130+
self.label_2.setObjectName(_fromUtf8("label_2"))
131+
self.formLayout_3.setWidget(0, QtGui.QFormLayout.LabelRole, self.label_2)
132+
self.maxit_spin = QtGui.QSpinBox(self.formLayoutWidget_3)
133+
self.maxit_spin.setMinimum(1)
134+
self.maxit_spin.setMaximum(99999)
135+
self.maxit_spin.setProperty("value", 2)
136+
self.maxit_spin.setObjectName(_fromUtf8("maxit_spin"))
137+
self.formLayout_3.setWidget(0, QtGui.QFormLayout.FieldRole, self.maxit_spin)
138+
self.tabWidget.addTab(self.tab, _fromUtf8(""))
139+
self.tab_2 = QtGui.QWidget()
140+
self.tab_2.setObjectName(_fromUtf8("tab_2"))
141+
self.help_browser = QtGui.QTextBrowser(self.tab_2)
142+
self.help_browser.setGeometry(QtCore.QRect(10, 10, 351, 451))
143+
self.help_browser.setHtml(_fromUtf8("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
144+
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
145+
"p, li { white-space: pre-wrap; }\n"
146+
"</style></head><body style=\" font-family:\'Sans Serif\'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
147+
"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><br /></p></body></html>"))
148+
self.help_browser.setAcceptRichText(False)
149+
self.help_browser.setOpenExternalLinks(True)
150+
self.help_browser.setObjectName(_fromUtf8("help_browser"))
151+
self.tabWidget.addTab(self.tab_2, _fromUtf8(""))
152+
self.progressBar = QtGui.QProgressBar(maxp_ui)
153+
self.progressBar.setGeometry(QtCore.QRect(30, 530, 161, 31))
154+
self.progressBar.setProperty("value", 0)
155+
self.progressBar.setObjectName(_fromUtf8("progressBar"))
156+
157+
self.retranslateUi(maxp_ui)
158+
self.tabWidget.setCurrentIndex(0)
159+
QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), maxp_ui.accept)
160+
QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), maxp_ui.reject)
161+
QtCore.QObject.connect(self.layer_combo, QtCore.SIGNAL(_fromUtf8("currentIndexChanged(int)")), self.threshold_attr_combo.update)
162+
QtCore.QObject.connect(self.threshold_attr_combo, QtCore.SIGNAL(_fromUtf8("currentIndexChanged(int)")), self.threshold_spin.update)
163+
QtCore.QMetaObject.connectSlotsByName(maxp_ui)
164+
165+
def retranslateUi(self, maxp_ui):
166+
maxp_ui.setWindowTitle(_translate("maxp_ui", "Clusterpy light: Max-p", None))
167+
self.groupBox.setTitle(_translate("maxp_ui", "Clustering parameters", None))
168+
self.label_5.setText(_translate("maxp_ui", "Layer", None))
169+
self.label_6.setText(_translate("maxp_ui", "Clustering attribute", None))
170+
self.label_7.setText(_translate("maxp_ui", "Threshold value", None))
171+
self.label_8.setText(_translate("maxp_ui", "Threshold attribute", None))
172+
self.groupBox_2.setTitle(_translate("maxp_ui", "Local Search parameters", None))
173+
self.label_4.setText(_translate("maxp_ui", "Tabu List length", None))
174+
self.label_3.setText(_translate("maxp_ui", "Tabu maximum steps", None))
175+
self.browse_button.setText(_translate("maxp_ui", "Browse", None))
176+
self.label.setText(_translate("maxp_ui", "Output layer", None))
177+
self.add_canvas.setText(_translate("maxp_ui", "Add to map canvas", None))
178+
self.groupBox_3.setTitle(_translate("maxp_ui", "Construction phase parameters", None))
179+
self.label_2.setText(_translate("maxp_ui", "Maximum iterations", None))
180+
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("maxp_ui", "Algorithm", None))
181+
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("maxp_ui", "Help", None))
182+

0 commit comments

Comments
 (0)