[f(GIS) home]
Environmental Planning Utilities
Overview
Environmental planning utilities is set of stand-alone programs, which
performs GIS operations on EPPL7 data files. EPPL stands for "Environmental Planning Program Language". When I begin to reimplement some EPPL commands trying to overcome some
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
a wonderful things as Unix shell or Tcl.
So, it is not a language, but set of utilities. They are designed to operate
non-interactively, from batch files or scripts. Interactive front end is
provided by f(GIS).
Utilities
EPU include:
- border - converts raster to vector by plotting vector
lines on every class change of vector file. Exceeds some limitation
of EPPL7 border command and have more elaborate algorithm of line
smoothing, but currently is not able to label polygons with points
and generate Arc/Info-like topology. I've invented
algorithm to do
so, but it is still awaiting implementation.
(man page)
- cluster Assigns unique numbers to clusters of points in
space which are separated by some boundaries. Curently supported
types of boundaries include:
- Lines plotted in the raster with particular attribute
(like EPPL7 cluster command).
- Class changes of the existing raster (counting unique polygons)
- Lines of vector file (like EPPL7 rasterize command).
(buggy)
Supports more up to 65534 polygons on map without limitations of EPPL7, which have troubles with more than 32767 temporary polygons.
(man page).
- fill - Fills small holes in raster data files left after
rasterization or combining of several maps.
Returns non-zero exit code if there are some holes left and another
pass is neccessary (man page)
- outtable - computes tabular reports from set of maps.
Works siginificantly faster than EPPL outtable due to different
storage structures, especially on files which are results from
cluster command. (man page)
- intable - creates map from existing maps and
substitution table (man page)
- mapcalc - anything which can be compute from limited
surrounding of point. Extendent descendant of
EPPL7 evaluate command. Also replaces such EPPL commands
as moving, jumping, neighbour and border
(EPP version) (man page).
Not written yet
- mapclass which does same thing as mapcalc for maps
whose values cannot be interpreted is numbers. Descendant of
EPPL7 multi-file RECLASS command. (man page). See also reclass1
Not written yet
- thiessen - anything which requires computation of distance
to far points. Replaces EPPL7 commands radius, buffer,
guarded. Planned to overcome 16384 colums limitation of EPPL7
RADIUS command.
(man page)
Not written yet
- interpolate spatial interpolations. Planned methods:
Inverse distantion, Kriging, Landscape-oriented interpolation.
Not written yet
- transform anything which changes coordinate system,
including projection transformation. Projection handling code is
based on USGS Public Domain
Projection program.
Not written yet
- conversion tools various format conversions. Currently
only dgt2gen is written . Second most important part is
epptoppm and ppmtoepp which would allow to interoperate
with lots of formats already supported by netpbm library.
- raster file manipulation tools - set of small things,
which operate with raster files on low level. This includes
eheader which views and edits
header of EPP file (only program of EPU which can be compilied
as 16-bit DOS application), window which cuts a rectangular region from
map, mosaic which combines several maps
together and clip which cuts a part
from map using
an area of given class from other maps as cutted region boundary.
- extents print table of minimal and maximal
coordinates for each class. (man page)
- neighbours. - for each class in file prints list
of classes, which are neighbouring to it.
(man page).
System requirements
EPU should work on any system which is 32-bit and has ANSI C compilier.
They have been tested under Linux, Solaris/Sparc and
MS-DOS with DOS4GW extender (Watcom C 10.0). It is essential
that system should support concept of standard input/output and exit codes,
so porting to Win32 should be trivial, but porting to MacOS would require
major redesign.
[f(GIS) home]
|