..to manage some things he can fly over
The application is used to create a two-dimensional mesh triangulaytion in Delaunay terms. It supports Delaunay triangulation, constraint polygon triangulation and the creation of Voronoi-diagrams. The Program was modfied to use interfaces for Delphi 5 under Windows NT 4.0. To be opportune with the compiler family, the code was adapted to use the free Borland C++ Compiler BCC 5.5. The result is a dynamic liked library with a DELPHI core API. The code is very volatile and it is the start for programming a secure encapsulation of the API as a component.
The API is used to handle geographic or geodetic transformation. It supports a large number of coordinate system geographic datas and predefined transformations.
The Program was modfied to use interfaces for Delphi 5 under Windows NT 4.0. To be opportune with the compiler family, the code was adapted to use the free Borland C++ Compiler BCC 5.5. The result is a dynamic liked library with a DELPHI core API. The first Proj library version was 4.4.3. These library version was updated now and synchronized with the code version 4.4.7 coming up from Frank Warmerdam The migration from version 4.4.3 to 4.4.6 and now 4.4.7 has little different resulting behavoir of the proj tools in version 4.4.3 and the library.
ProjPJ * pj_init_plus( const char *definition, const char *aDataPath )is now notated in a seperate function for the libraries proj$(VER).dll.
ProjPJ * pj_init_plus_path( const char *definition, const char *aDataPath )for C or
Function _pj_init_plus_path( const definition:PChar; const aDataPath:PChar ): PProjPJ; ...for Delphi where aDataPath is the path to the "nad" directory p.h.
aDataPath="c:\proj\nad";
or aDataPath:='c:\proj\nad';.
This API enables the access to the widely used ArcView® Shape format by the usage of the OpenSource Shapelib 1.2.9 library written by Frank Warmerdam.
The Contouring Routine was written by Paul D. Brouke in Fortran and proted by Nicholas Yue into C. For these sources see (original sources) . CONREC is a contouring subroutine for rectangularily spaced data. It emits calls to a line drawing subroutine supplied by the user which draws a contour map corresponding to double on a randomly spaced rectangular grid. The coordinates emitted are in the same units given in the x[] and y[] arrays as sample:
x[0]:=0; x[1]:=1;..x[dimx-1]:=dimx-1; and
y[0]:=0; y[1]:=1;..y[dimy-1]:=dimy-1;.
Any number of contour levels may be specified but they must be in order of increasing value as sample:
z[0]:=-100; z[1]:=-50;..z[dimh-1]:=100;
and the number of contur levels must be given as sample dimh. As this code is ported as from FORTRAN-77, ANSI C, Delphi and the procedural is of course a PASCALIAN please be very careful of the various indices like
ilb,iub, jlb and jub,
remeber that C/C++ and for dynamic arrays in delphi indices starts from zero (0). OK. here is listing with a small example directly applied sample part via a functional definition f(x,y).
The following contouring routine was published in germany 1987 by Markus Weber Turbopascal Tools Practical usage of Turbo Pascal in nature science and I adopt it in 1990 for general use from the third edition of these book ISBN-3-528-24543-3.
The basic idea of the algorithm is the desciption of the movement of an unintelligent mouse in a labyrinth with clockwise spin if the move fails and a counter clock wise spin if the move succeeds for the next exploring direction. Versus the contouring other authors like of Paul. D. Brouke it delivers open or closed polygons (rings) and it is possible to create faces over on height intersection plane. To build a DEM or body of heigth lines the algorithm will take more than height intersections and therefore more computational power.
In technical terms of the time the routine was implemented as a direct drawing routine to the, in recent considerations, low resoluted PC DOS screen. I extract the these parts from the routine and try to make it industial hard, to check border conditions, uniqe existence polygons of each height inertsected part.