]> www.wagner.pp.ru Git - sites/home_page.git/blob - geography/fGIS/index.html
Added fGIS
[sites/home_page.git] / geography / fGIS / index.html
1 <HTML>
2 <HEAD>
3 <TITLE>fGIS project</TITLE>
4 </HEAD>
5 <BODY>
6 <H1>f(GIS) project</H1>
7
8 fGIS stands for &quot;functional GIS&quot;. It means that fGIS uses
9 functional data model rather than object-oriented. Spatial phenomena
10 are interpreted as functions of spatial coordinates, defined on
11 some subset of earth surface. Such subset can be contineous area,
12 or set of lines, like transport or hydrography network, or even
13 set of isolated points.
14 <P>
15
16 I hope that such approach would allow to develop powerful map operation
17 language much like simple relational model of tabular data give birth to SQL.
18 <P>
19 Idea of fGIS was born when I've worked on DOS with <A HREF="http://www.mnplan.state.mn.us/EPPL7/">EPPL7</A> and <A HREF="http://www.esri.com">Arc/Info</A> GIS systems. I've found that
20 on most tasks, related with natural sciences, EPPL7 outperforms Arc/Info
21 hundred times or so. So, I wanted to have system which is open-source,
22 have purified ideology, and is free from some EPPL7 limitations, caused
23 by 16-bit nature of DOS. Later I've found that <A HREF="http://www.laum.uni-hannover.de/iln/grass/grass42/">GRASS</A> already implements most of my ideas,
24 but GRASS is huge and knowing how other raster GIS like IDRISI are outperformed
25 by EPPL7, I have very few hopes that its existense makes my efforts useless.
26 <P> 
27 Concepts of project, both data model and program design are described
28 on <A HREF=concepts.html>separate page</A>
29 <P>
30 If you could read Russian, you can read <A HREF=concept.html>old conceptual paper</A> on functional GIS.
31
32 <H2> Project structure</H2>
33
34 To avoid inventing of yet another, incompatible scripting language, we
35 decided to develop f(GIS) as extension to <A
36 HREF="http://www.scriptics.com">Tcl/Tk</A>. It give us not only
37 full-featured macro language, but also cross-platform GUI and large set
38 of extensions, including interfaces to major RDBMS servers.
39 <P> 
40 fGIS project now consists of following parts:
41 <OL>
42 <LI>Portable C library to access EPPL7 data files.<BR>
43     <A HREF="lib_doc.pdf">Documentation</A> in russian language and PDF format
44     is available. Later, I've decided to drop EPPL DGT vecrtor format in
45     favor of my own, which would be more suitable for fGIS concept. DGT
46     is bit too object oriented for me, while it is most compact and fast
47     of non-topology vector GIS formats available.
48 <LI><A HREF="EPU.html">Environmental planning Utilities</A> - reimplementation of major EPPL7
49     commands. EPPL7 stands for Environmental Planning Programming Language,
50     but I don't want special language for it. There are lot of existing ones.
51     I prefer to use Unix toolbox philosophy, so it is set of independednt
52     utilities. 
53     <P>
54        Not all of this utilites are written yet.
55
56 <LI><A HREF=tclext.html>Tcl extensions to visualize data</A>
57    It is simple and most portable way to write map viewer. Planned
58    features include drawing of raster maps as semi-transparent patterned
59    images, which allow to overlay raster over raster, but now only
60    colored maps work. This extension includes commands for editing raster
61    files and for spatial queries
62
63 <LI><B>Set of Tcl libraries</B> to implement high-level tools. 
64   It should lead
65   to complete graphical application with powerful macro language (TCL itself),
66   access to most of SQL servers (all which have Tcl interface libraries, 
67   including ODBC standard on Win32 platform). 
68   This libraries should include wrappers
69   for utilities, to hide from user two important things:
70 <OL>
71 <LI> that raster values are always integer numbers rather than text strings
72 or real numbers and &quot;legend files&quot; are used to map one to another
73 <LI> that logical map layer is not nessecary stored in separate raster file.
74 It can share raster with other layer and differ from it only in value
75 remapping (reclass) table.
76 </OL>
77   This libraries consist of several abstraction layers, which are not properly
78   documented yet.
79 <LI> Tcl application which provides graphical user environment. Idea behind
80  it is that most everyday tasks should be performed by few mouse clicks,
81 but if you want more you always can open Tcl console and have a full power
82 of Tcl at your fingertips, including ability to modify GUI.
83 </UL>
84
85 <H2>Current state</H2>
86
87 <I>f(</I><B>GIS</B><I>)</I> project haven't reach evel alpha stage yet.
88 I would consider it alpha not sooner than at least 80% of features would
89 be implemented. But it is already usable for those who own <A HREF="http://www.mnplan.state.mn.us/EPPL7/">EPPL7</A> and want portable viewer for their maps 
90 or utilities which overcome some limitations of EPPL7. You can browse
91 <A HREF="TODO.txt">TO DO list</a>. I would be grateful if you would peek
92 something from it and attempt to implement it.
93
94 <P>
95 There is no snapshots and releases. This page have only historical
96 interest
97 <P>
98 Be sure to read <A HREF="install.html">installation instructions</A>
99 before attempt to install fGIS.
100 <P>
101 Of course, it is not guaranteed even to compile, nevertheless to run,
102 although it have been used successfully on Linux (GCC 2.7.2),
103 Solaris-SPARC (GCC 2.7.2) and (utilities only) DOS (Watcom C 10).
104 It would almost undoubtely fail to compile on 64-bit platform (any
105 brave soul with Alpha or UltraPenguin to port?).
106 <P>
107 Current version of visualisation library works with Tcl/Tk 8.0p2.
108 It should also work with Tcl 7.6p2/Tk 4.2p2.
109
110 Note that <A HREF="http://home.wxs.nl/~nijtmans/dash.html">dash patch</A> is
111 almost neccessary, becouse without it Tk would unable
112 to print (save to postscript) raster maps, produced by <I>f(</I><B>GIS</B><I>)</I>.
113
114 <A HREF="http://home.wxs.nl/~nijtmans/img.html">Img extension</A>can also 
115 be helpful, if your raster data are not limited to GIS maps.
116 Note that
117 current version of patch, accompaniing this extension, allows to make <B>offsite</B> of raster maps transparent. In future, this would be requirement, but
118 for now, while fGIS is not fully functional. I don't like to force you to
119  apply patches which could break your
120 other Tcl scripts or extensions. 
121
122 <H2>Distribution policy</H2>
123 Once <I>f(</I><B>GIS</B><I>)</I> would be released, it would be distributed
124 under <A HREF="http://www.gnu.org/copyleft/gpl.html">GNU Public license</A>.
125 Pre-alpha versions are freely downloadable, but can be used for evaluation
126 only unless you are planning to take part in development. If <I>f(</I><B>GIS</B><I>)</I> is useful for you even in such limited state, <A HREF="mailto:vitus@ice.ru">contact me</A> and I would consider marking some parts of project alpha,
127 thus allowing their redistribution.
128  
129 </HTML>
130
131