]> www.wagner.pp.ru Git - sites/home_page.git/blob - geography/fGIS/EPU.html
Added fGIS
[sites/home_page.git] / geography / fGIS / EPU.html
1 <HTML>
2 <HEAD>
3 <TITLE>Environmental Planning Utilities</TITLE>
4 </HEAD>
5 <BODY>
6 [<A HREF=index.html><I>f(</I><B>GIS</B><I>)</I> home</A>]
7 <HR>
8 <H1>Environmental Planning Utilities</H1>
9
10 <H3>Overview</H3>
11 Environmental planning utilities is set of stand-alone programs, which
12 performs GIS operations on <A HREF="http://www.mnplan.state.mn.us/EPPL7/">EPPL7</A> data files. EPPL stands for &quot;Environmental Planning Program Language&quot;. When I begin to reimplement some EPPL commands trying to overcome some
13 limitations of 16-bit DOS environment, I found that it is complete waste of effort - attempt to implement yet another scripting language while we have such
14 a wonderful things as Unix shell or <A HREF=http://www.scriptics.com>Tcl</A>.
15 <P>
16 So, it is not a language, but set of utilities. They are designed to operate
17 non-interactively, from batch files or scripts. Interactive front end is 
18 provided by <A HREF=index.html><I>f(</I><B>GIS</B><I>)</I></A>.
19 <P>
20 <H3>Utilities</H3>
21
22 EPU include:
23        <UL>
24         <LI><B>border</B> - converts raster to vector by plotting vector
25           lines on every class change of vector file. Exceeds some limitation
26           of EPPL7 border command and have more elaborate algorithm of line
27           smoothing, but currently is not able to label polygons with points
28           and generate Arc/Info-like topology. I've invented 
29            <A HREF=topology.html>algorithm</A> to do
30           so, but it is still awaiting implementation.
31          (<A HREF=man/border.1.html>man page</A>)
32         <LI><B>cluster</B> Assigns unique numbers to clusters of points in
33          space which are separated by some boundaries. Curently supported
34          types of boundaries include:
35          <OL>
36           <LI>Lines plotted in the raster with particular attribute
37              (like EPPL7 <B>cluster</B> command).
38           <LI>Class changes of the existing raster (counting unique polygons)
39           <LI>Lines of vector file (like EPPL7 <B>rasterize</B> command).
40              (<B>buggy</B>)
41          </OL>
42          Supports more up to 65534 polygons on map without limitations of EPPL7,        which have troubles with more than 32767 temporary polygons.
43         <A HREF=man/cluster.1.html>(man page)</a>.
44         <LI><B>fill</B> - Fills small holes in raster data files left after
45       rasterization or combining of several maps.
46        Returns non-zero exit code if there are some holes left and another
47        pass is neccessary (<A HREF=man/fill.1.html>man page</A>)
48
49         <LI><B>outtable</B> - computes tabular reports from set of maps.
50          Works siginificantly faster than EPPL outtable due to different
51          storage structures, especially  on files which are results from 
52          <B>cluster</B> command. (<A HREF=man/outtable.1.html>man page</A>)
53         <LI><B>intable</B> - creates map from existing maps and 
54              substitution table (<A HREF=man/intable.1.html>man page</A>)
55         <LI><B>mapcalc</B> - anything which can be compute from limited
56                         surrounding of point. Extendent descendant of
57              EPPL7 <B>evaluate</B> command. Also replaces such EPPL commands
58             as <B>moving</B>, <B>jumping</B>, <B>neighbour</B> and <B>border</B>
59          (EPP version) (<A HREF=man/mapcalc.1.html>man page</A>).
60          <P>
61          <B>Not written yet</B>
62          <P>
63         <LI><B>mapclass</B> which does same thing as mapcalc for maps
64             whose values cannot be interpreted is numbers. Descendant of
65             EPPL7 multi-file <B>RECLASS</B> command. <A
66             HREF=man/mapclass.1.html>(man page)</a>. See also <A
67             HREF=man/reclass1.1.html>reclass1</a>
68          <P>
69          <B>Not written yet</B>
70          <P>
71         <LI><B>thiessen</B> - anything which requires computation of distance
72 to far points. Replaces EPPL7 commands <B>radius</B>, <B> buffer</B>, 
73          <B>guarded</B>. Planned to overcome 16384 colums limitation of EPPL7 
74          RADIUS command.
75         (<A HREF=man/thiessen.1.html>man page</A>)
76           
77          <P>
78          <B>Not written yet</B> 
79          <P>
80         <LI><B>interpolate</B> spatial interpolations. Planned methods:
81            Inverse distantion, Kriging, <A HREF=/~vitus/loi.html>Landscape-oriented interpolation</A>. 
82          <P>
83          <B>Not written yet</B> 
84          <P>
85         <LI><B>transform</B> anything which changes coordinate system,
86          including projection transformation. Projection handling code is
87          based on <A HREF="http://kai.er.usgs.gov">USGS Public Domain
88 Projection program.</A>
89          <P>
90          <B>Not written yet</B>
91          <P>
92         <LI><B>conversion tools</B> various format conversions. Currently
93          only <a href=man/dgt2gen.1.html>dgt2gen</a> is written . Second most important part is
94          <B>epptoppm</B> and <B>ppmtoepp</B> which would allow to interoperate
95           with lots of formats already supported by netpbm library.
96          
97         <LI><B>raster file manipulation tools</B> - set of small things,
98           which operate with raster files on low level. This includes
99           <A HREF=man/eheader.1.html>eheader</a> which views and edits
100           header of EPP file (only program of EPU which can be compilied
101           as 16-bit DOS application), <A
102          HREF=man/window.1.html>window</a> which cuts a rectangular region from
103         map, <A HREF=man/mosaic.1.html>mosaic</a> which combines several maps
104         together and <A HREF=man/clip.1.html>clip</a> which cuts a part 
105         from map using
106         an area of given class from other maps as cutted region boundary.
107         <LI><b>extents</b> print table of minimal and maximal
108 coordinates for each class. (<A href=man/extents.1.html>man page</a>)
109         <LI><b>neighbours</b>. - for each class in file prints list
110           of classes, which are neighbouring to it.
111            (<a href=man/neighbours.1.html>man page</a>).
112        </UL> 
113 <H3>System requirements</H3>
114
115 EPU should work on any system which is 32-bit and has ANSI C compilier.
116 They have been tested under <B>Linux</B>, <B>Solaris/Sparc</B> and
117 <B>MS-DOS</B> with <B>DOS4GW</B> extender (Watcom C 10.0). It is essential
118 that system should support concept of standard input/output and exit codes,
119 so porting to Win32 should be trivial, but porting to MacOS would require
120 major redesign.
121
122 <HR>
123 [<A HREF=index.html><I>f(</I><B>GIS</B><I>)</I> home</A>]
124 </BODY>
125 </HTML>