Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.
Integrated Geographic Information System - Tool Kit
The current status is "work in progress" and prototype.
Collection of GIS tools and libs related to the following tasks:
- OSM Data Processing and data conversion,
- Data Quality Assessment,
- Spatial Data Fusion,
- (3D) Generalization...
Prospectively, IGIS.TK can be utilized as either a general-purpose GIS application or advanced GIS programming environment
Motivation and Aims
IGIS.TK would provide and command-line and GUI environment for quick prototyping and professional development of GIS applications and conducting geoprocessing. The environment itself will be utilized to build a highly pluggable end extendable general-purpose GIS application, like QGIS or ArcView3.2.
Most of the current GIS solutions are based on Python environment. IGIS.TK would mainly use Tcl/Tk programming language offering the following benefits:
- As everything is a string, in Tcl, the code can be considered as data and vise versa (e.g., the code can be sent through an open socket to be executed remotely). Thus, there are no data type and almost no predefined constructions. The behavior of any construction could be easily modified.
- Tcl is one of the best glue languages; it is quite trivial to utilize any libraries written in C, C++, Java, and, even, Python.
- Threads extension is very straight forward and clear, in contrast to other languages
- The concepts of interpreters and, especially, safe interpreters give us amazing benefits, unreachable with other solutions
- Tk GUI library is one of the greatest advantages of Tcl. Now, it is even running on Android with Androwish. Tk-based Tkinter is a still unreplaceable solution for many applications.
- Tcl is probably the best in metaprogramming and event-based programming
- For sure, it is the most flexible programming language
The integrating concept of IGIS.TK is presented in the following figure.
As one sees, the IGIS.TK core consists of a Tcl/TK and a number of Tcl extensions/libraries/applications included in Androwish. The core is tightly integrated (mainly through Tcl bindings) with GIS (Proj.6, GEOS, GDAL/OGR, Spatialite, GRASS GIS)and other libraries and applications (GNUPlot, GraphicsMagick, VTK, OpenCV, MxNet).
Further development steps are as follows:
GUI Development and Refined. *.igis.tcl and *.igis.tk will be pluggable applications to be executed in the frame of a GUI container as a separate thread and, sometimes, in a safe interpreter (for untrusted code). The former is for command-line tools, GUI will be generated on the fly based on help instructions.
Provide map widgets as *.igis.tk pluggable applications. 2D Map: tkcanvas is the main widget providing basic functionality (does not support transparency). tkpath is advance vector graphics modern-looking widget based on tkcanvas (both use a shared library).