Skip to content
Permalink
Browse files

initial commit of ftools

git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@9990 c8812cc2-4d05-0410-92ff-de0c093fc19c
  • Loading branch information
cfarmer
cfarmer committed Jan 20, 2009
1 parent fc1954b commit f55a844fed060fcc0cdd7778d59f0865947a0a44
Showing with 35,705 additions and 1 deletion.
  1. +1 −1 python/plugins/CMakeLists.txt
  2. +17 −0 python/plugins/ftools/CMakeLists.txt
  3. +31 −0 python/plugins/ftools/__init__.py
  4. +84 −0 python/plugins/ftools/doAbout.py
  5. +376 −0 python/plugins/ftools/fTools.py
  6. +92 −0 python/plugins/ftools/frmAbout.py
  7. +164 −0 python/plugins/ftools/frmAbout.ui
  8. +293 −0 python/plugins/ftools/ftools_help.xml
  9. +365 −0 python/plugins/ftools/ftools_help.xsl
  10. +157 −0 python/plugins/ftools/i18n.cpp
  11. +10 −0 python/plugins/ftools/icons/CMakeLists.txt
  12. +47 −0 python/plugins/ftools/icons/default/CMakeLists.txt
  13. BIN python/plugins/ftools/icons/default/analysis.png
  14. BIN python/plugins/ftools/icons/default/basic_statistics.png
  15. BIN python/plugins/ftools/icons/default/buffer.png
  16. BIN python/plugins/ftools/icons/default/centroids.png
  17. BIN python/plugins/ftools/icons/default/check_geometry.png
  18. BIN python/plugins/ftools/icons/default/clip.png
  19. BIN python/plugins/ftools/icons/default/convex_hull.png
  20. BIN python/plugins/ftools/icons/default/define_projection.png
  21. BIN python/plugins/ftools/icons/default/difference.png
  22. BIN python/plugins/ftools/icons/default/dissolve.png
  23. BIN python/plugins/ftools/icons/default/export_geometry.png
  24. BIN python/plugins/ftools/icons/default/export_projection.png
  25. BIN python/plugins/ftools/icons/default/extract_nodes.png
  26. BIN python/plugins/ftools/icons/default/ftools_logo.png
  27. BIN python/plugins/ftools/icons/default/ftoolslogo2.png
  28. BIN python/plugins/ftools/icons/default/geometry.png
  29. BIN python/plugins/ftools/icons/default/geoprocessing.png
  30. BIN python/plugins/ftools/icons/default/help.png
  31. BIN python/plugins/ftools/icons/default/intersect.png
  32. BIN python/plugins/ftools/icons/default/intersections.png
  33. BIN python/plugins/ftools/icons/default/join_attributes.png
  34. BIN python/plugins/ftools/icons/default/join_location.png
  35. BIN python/plugins/ftools/icons/default/management.png
  36. BIN python/plugins/ftools/icons/default/matrix.png
  37. BIN python/plugins/ftools/icons/default/mean.png
  38. BIN python/plugins/ftools/icons/default/multi_to_single.png
  39. BIN python/plugins/ftools/icons/default/neighbour.png
  40. BIN python/plugins/ftools/icons/default/random_points.png
  41. BIN python/plugins/ftools/icons/default/random_selection.png
  42. BIN python/plugins/ftools/icons/default/regular_points.png
  43. BIN python/plugins/ftools/icons/default/sampling.png
  44. BIN python/plugins/ftools/icons/default/select_location.png
  45. BIN python/plugins/ftools/icons/default/simplify.png
  46. BIN python/plugins/ftools/icons/default/single_to_multi.png
  47. BIN python/plugins/ftools/icons/default/split_layer.png
  48. BIN python/plugins/ftools/icons/default/sub_selection.png
  49. BIN python/plugins/ftools/icons/default/sum_lines.png
  50. BIN python/plugins/ftools/icons/default/sum_points.png
  51. BIN python/plugins/ftools/icons/default/sym_difference.png
  52. BIN python/plugins/ftools/icons/default/to_lines.png
  53. BIN python/plugins/ftools/icons/default/union.png
  54. BIN python/plugins/ftools/icons/default/unique.png
  55. BIN python/plugins/ftools/icons/default/vector_grid.png
  56. +8,620 −0 python/plugins/ftools/icons/gis-0.1.svg
  57. +47 −0 python/plugins/ftools/icons/gis/CMakeLists.txt
  58. BIN python/plugins/ftools/icons/gis/analysis.png
  59. BIN python/plugins/ftools/icons/gis/basic_statistics.png
  60. BIN python/plugins/ftools/icons/gis/buffer.png
  61. BIN python/plugins/ftools/icons/gis/centroids.png
  62. BIN python/plugins/ftools/icons/gis/check_geometry.png
  63. BIN python/plugins/ftools/icons/gis/clip.png
  64. BIN python/plugins/ftools/icons/gis/convex_hull.png
  65. BIN python/plugins/ftools/icons/gis/define_projection.png
  66. BIN python/plugins/ftools/icons/gis/difference.png
  67. BIN python/plugins/ftools/icons/gis/dissolve.png
  68. BIN python/plugins/ftools/icons/gis/export_geometry.png
  69. BIN python/plugins/ftools/icons/gis/export_projection.png
  70. BIN python/plugins/ftools/icons/gis/extract_nodes.png
  71. BIN python/plugins/ftools/icons/gis/ftools_logo.png
  72. BIN python/plugins/ftools/icons/gis/geometry.png
  73. BIN python/plugins/ftools/icons/gis/geoprocessing.png
  74. BIN python/plugins/ftools/icons/gis/help.png
  75. BIN python/plugins/ftools/icons/gis/intersect.png
  76. BIN python/plugins/ftools/icons/gis/intersections.png
  77. BIN python/plugins/ftools/icons/gis/join_attributes.png
  78. BIN python/plugins/ftools/icons/gis/join_location.png
  79. BIN python/plugins/ftools/icons/gis/management.png
  80. BIN python/plugins/ftools/icons/gis/matrix.png
  81. BIN python/plugins/ftools/icons/gis/mean.png
  82. BIN python/plugins/ftools/icons/gis/multi_to_single.png
  83. BIN python/plugins/ftools/icons/gis/neighbour.png
  84. BIN python/plugins/ftools/icons/gis/nodes.png
  85. BIN python/plugins/ftools/icons/gis/random_points.png
  86. BIN python/plugins/ftools/icons/gis/random_selection.png
  87. BIN python/plugins/ftools/icons/gis/regular_points.png
  88. BIN python/plugins/ftools/icons/gis/sampling.png
  89. BIN python/plugins/ftools/icons/gis/select_location.png
  90. BIN python/plugins/ftools/icons/gis/simplify.png
  91. BIN python/plugins/ftools/icons/gis/single_to_multi.png
  92. BIN python/plugins/ftools/icons/gis/split_layer.png
  93. BIN python/plugins/ftools/icons/gis/sub_selection.png
  94. BIN python/plugins/ftools/icons/gis/sum_lines.png
  95. BIN python/plugins/ftools/icons/gis/sum_points.png
  96. BIN python/plugins/ftools/icons/gis/sym_difference.png
  97. BIN python/plugins/ftools/icons/gis/to_lines.png
  98. BIN python/plugins/ftools/icons/gis/union.png
  99. BIN python/plugins/ftools/icons/gis/unique.png
  100. BIN python/plugins/ftools/icons/gis/vector_grid.png
  101. +344 −0 python/plugins/ftools/icons/logo.svg
  102. +4,743 −0 python/plugins/ftools/icons/menu_icons.svg
  103. +8,230 −0 python/plugins/ftools/resources.py
  104. +88 −0 python/plugins/ftools/resources.qrc
  105. +59 −0 python/plugins/ftools/tools/CMakeLists.txt
  106. +139 −0 python/plugins/ftools/tools/doDefineProj.py
  107. +736 −0 python/plugins/ftools/tools/doGeometry.py
  108. +701 −0 python/plugins/ftools/tools/doGeoprocessing.py
  109. +195 −0 python/plugins/ftools/tools/doIntersectLines.py
  110. +354 −0 python/plugins/ftools/tools/doJoinAttributes.py
  111. +240 −0 python/plugins/ftools/tools/doMeanCoords.py
  112. +234 −0 python/plugins/ftools/tools/doPointDistance.py
  113. +165 −0 python/plugins/ftools/tools/doPointsInPolygon.py
  114. +261 −0 python/plugins/ftools/tools/doRandPoints.py
  115. +64 −0 python/plugins/ftools/tools/doRandom.py
  116. +198 −0 python/plugins/ftools/tools/doReProject.py
  117. +171 −0 python/plugins/ftools/tools/doRegPoints.py
  118. +83 −0 python/plugins/ftools/tools/doSelectByLocation.py
  119. +262 −0 python/plugins/ftools/tools/doSpatialJoin.py
  120. +171 −0 python/plugins/ftools/tools/doSubsetSelect.py
  121. +168 −0 python/plugins/ftools/tools/doSumLines.py
  122. +183 −0 python/plugins/ftools/tools/doVectorGrid.py
  123. +208 −0 python/plugins/ftools/tools/doVectorSplit.py
  124. +346 −0 python/plugins/ftools/tools/doVisual.py
  125. +116 −0 python/plugins/ftools/tools/frmGeometry.py
  126. +207 −0 python/plugins/ftools/tools/frmGeometry.ui
  127. +182 −0 python/plugins/ftools/tools/frmGeoprocessing.py
  128. +303 −0 python/plugins/ftools/tools/frmGeoprocessing.ui
  129. +120 −0 python/plugins/ftools/tools/frmIntersectLines.py
  130. +180 −0 python/plugins/ftools/tools/frmIntersectLines.ui
  131. +175 −0 python/plugins/ftools/tools/frmJoinAttributes.py
  132. +320 −0 python/plugins/ftools/tools/frmJoinAttributes.ui
  133. +120 −0 python/plugins/ftools/tools/frmMeanCoords.py
  134. +177 −0 python/plugins/ftools/tools/frmMeanCoords.ui
  135. +159 −0 python/plugins/ftools/tools/frmPointDistance.py
  136. +281 −0 python/plugins/ftools/tools/frmPointDistance.ui
  137. +109 −0 python/plugins/ftools/tools/frmPointsInPolygon.py
  138. +173 −0 python/plugins/ftools/tools/frmPointsInPolygon.ui
  139. +197 −0 python/plugins/ftools/tools/frmRandPoints.py
  140. +366 −0 python/plugins/ftools/tools/frmRandPoints.ui
  141. +97 −0 python/plugins/ftools/tools/frmRandom.py
  142. +189 −0 python/plugins/ftools/tools/frmRandom.ui
  143. +135 −0 python/plugins/ftools/tools/frmReProject.py
  144. +282 −0 python/plugins/ftools/tools/frmReProject.ui
  145. +199 −0 python/plugins/ftools/tools/frmRegPoints.py
  146. +388 −0 python/plugins/ftools/tools/frmRegPoints.ui
  147. +167 −0 python/plugins/ftools/tools/frmSpatialJoin.py
  148. +337 −0 python/plugins/ftools/tools/frmSpatialJoin.ui
  149. +122 −0 python/plugins/ftools/tools/frmSubsetSelect.py
  150. +215 −0 python/plugins/ftools/tools/frmSubsetSelect.ui
  151. +109 −0 python/plugins/ftools/tools/frmSumLines.py
  152. +177 −0 python/plugins/ftools/tools/frmSumLines.ui
  153. +219 −0 python/plugins/ftools/tools/frmVectorGrid.py
  154. +513 −0 python/plugins/ftools/tools/frmVectorGrid.ui
  155. +82 −0 python/plugins/ftools/tools/frmVectorSplit.py
  156. +140 −0 python/plugins/ftools/tools/frmVectorSplit.ui
  157. +99 −0 python/plugins/ftools/tools/frmVisual.py
  158. +155 −0 python/plugins/ftools/tools/frmVisual.ui
  159. +248 −0 python/plugins/ftools/tools/ftools_utils.py
@@ -1 +1 @@
SUBDIRS(plugin_installer mapserver_export)
SUBDIRS(plugin_installer mapserver_export ftools)
@@ -0,0 +1,17 @@
#TODO: Need to configure cmake to run pyrcc4 and pyuic4 as required when the resource
# file or the ui change
SET(INSTALLER_FILES
__init__.py
frmAbout.py
ftools_help.xsl
resources.qrc
frmAbout.ui
fTools.py
doAbout.py
ftools_help.xml
i18n.cpp
resources.py
)
INSTALL(FILES ${INSTALLER_FILES} DESTINATION ${QGIS_DATA_DIR}/python/plugins/ftools)

SUBDIRS(tools icons)
@@ -0,0 +1,31 @@
# licensed under the terms of GNU GPL 2
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

def name():
return "fTools"

def description():
return "Tools for vector data analysis and management"

def version():
return "0.5.2"

def qgisMinimumVersion():
return "1.0.0"

def classFactory( iface ):
from fTools import fToolsPlugin
return fToolsPlugin( iface )
@@ -0,0 +1,84 @@
# licensed under the terms of GNU GPL 2
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

from PyQt4.QtCore import *
from PyQt4.QtGui import *

from qgis.core import *
import webbrowser, os
from frmAbout import Ui_Dialog
import resources
currentPath = os.path.dirname(__file__)

class Dialog(QDialog, Ui_Dialog):
def __init__(self, iface):
QDialog.__init__(self)
self.iface = iface
# Set up the user interface from Designer.
self.setupUi(self)
QObject.connect(self.btnWeb, SIGNAL("clicked()"), self.openWeb)
QObject.connect(self.btnHelp, SIGNAL("clicked()"), self.openHelp)
self.fToolsLogo.setPixmap(QPixmap(":/icons/default/ftools_logo.png"))
self.label_3.setText("fTools 0.5.2")
self.textEdit.setText(self.getText())

def getText(self):
aboutText = QString("The goal of fTools is to provide a one-stop resource for many common vector-based GIS tasks, ")
aboutText.append("without the need for additional software, libraries, or complex workarounds.\n\n")
aboutText.append("fTools is designed to extend the functionality of Quantum GIS using only core QGIS and python ")
aboutText.append("libraries. It provides a growing suite of spatial data management and analysis functions that are ")
aboutText.append("both quick and functional. In addition, the geoprocessing functions of Dr. Horst Duester and ")
aboutText.append("Stefan Ziegler have been incorporated to futher facilitate and streamline GIS based research and analysis.\n\n")
aboutText.append("If you would like to report a bug, make suggestions for improving fTools, or have a question about ")
aboutText.append("the tools, please email me: carson.farmer@gmail.com\n\n")
licenceString = QString("LICENSING INFORMATION:\n")
licenceString.append("fTools is copyright (C) 2009 Carson J.Q. Farmer\n")
licenceString.append("Geoprocessing functions adapted from 'Geoprocessing Plugin',\n")
licenceString.append("(C) 2008 by Dr. Horst Duester, Stefan Ziegler\n\n")
licenceString.append("licensed under the terms of GNU GPL 2\n")
licenceString.append("This program is free software; you can redistribute it and/or modify")
licenceString.append("it under the terms of the GNU General Public License as published by")
licenceString.append("the Free Software Foundation; either version 2 of the License, or")
licenceString.append("(at your option) any later version.\n")
licenceString.append("This program is distributed in the hope that it will be useful,")
licenceString.append("but WITHOUT ANY WARRANTY; without even the implied warranty of")
licenceString.append("MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the")
licenceString.append("GNU General Public License for more details.\n")
licenceString.append("You should have received a copy of the GNU General Public License along")
licenceString.append("with this program; if not, write to the Free Software Foundation, Inc.,")
licenceString.append("51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n\n")
aknowledgeString = QString("AKNOWLEDGEMENTS:\n")
aknowledgeString.append("The following individuals (whether they know it or not) have contributed ")
aknowledgeString.append("ideas, help, testing, code, and guidence towards this project, and I thank them.\n")
aknowledgeString.append("Hawthorn Beyer\n")
aknowledgeString.append("Borys Jurgiel\n")
aknowledgeString.append("Tim Sutton\n")
aknowledgeString.append("Barry Rowlingson\n")
aknowledgeString.append("Horst Duester and Stefan Ziegler\n")
aknowledgeString.append("Paolo Cavallini\n")
aknowledgeString.append("Aaron Racicot\n")
aknowledgeString.append("Colin Robertson\n")
aknowledgeString.append("QGis developer and user communities\n")
aknowledgeString.append("Folks on #qgis at freenode.net\n")
aknowledgeString.append("All those who have reported bugs/fixes/suggestions/comments/etc.")
return QString(aboutText.append(licenceString.append(aknowledgeString)))

def openWeb(self):
webbrowser.open("http://www.ftools.ca/fTools.html")

def openHelp(self):
webbrowser.open(currentPath + "/ftools_help.xml")

0 comments on commit f55a844

Please sign in to comment.
You can’t perform that action at this time.