3 <TITLE>Environmental Planning Utilities</TITLE>
6 [<A HREF=index.html><I>f(</I><B>GIS</B><I>)</I> home</A>]
8 <H1>Environmental Planning Utilities</H1>
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 "Environmental Planning Program Language". 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>.
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>.
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:
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).
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>)
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>).
61 <B>Not written yet</B>
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>
69 <B>Not written yet</B>
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
75 (<A HREF=man/thiessen.1.html>man page</A>)
78 <B>Not written yet</B>
80 <LI><B>interpolate</B> spatial interpolations. Planned methods:
81 Inverse distantion, Kriging, <A HREF=/~vitus/geography/loi.html>Landscape-oriented interpolation</A>.
83 <B>Not written yet</B>
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>
90 <B>Not written yet</B>
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.
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
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>).
113 <H3>System requirements</H3>
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
123 [<A HREF=index.html><I>f(</I><B>GIS</B><I>)</I> home</A>]