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