Blob Blame History Raw
diff --git a/AUTHORS b/AUTHORS
new file mode 100644
index 0000000..8d1c8b6
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1 @@
+ 
diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..e5ab03e
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,502 @@
+                  GNU LESSER GENERAL PUBLIC LICENSE
+                       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+                            Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+                  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+                            NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+                     END OF TERMS AND CONDITIONS
+
+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/HOWTO-RELEASE b/HOWTO-RELEASE
index b86f349..1f3887b 100644
--- a/HOWTO-RELEASE
+++ b/HOWTO-RELEASE
@@ -5,7 +5,8 @@
 
 2) Build the release files. 
 
-   ./mkrelease.sh 1.3.0
+   ./autogen.sh
+   make distcheck
 
 3) Upload:
 
diff --git a/LICENSE.LGPL b/LICENSE.LGPL
deleted file mode 100644
index 0b643ac..0000000
--- a/LICENSE.LGPL
+++ /dev/null
@@ -1,483 +0,0 @@
-
-		  GNU LIBRARY GENERAL PUBLIC LICENSE
-		       Version 2, June 1991
-
- Copyright (C) 1991 Free Software Foundation, Inc.
-                    675 Mass Ave, Cambridge, MA 02139, USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the library GPL.  It is
- numbered 2 because it goes with version 2 of the ordinary GPL.]
-
-			    Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
-  This license, the Library General Public License, applies to some
-specially designated Free Software Foundation software, and to any
-other libraries whose authors decide to use it.  You can use it for
-your libraries, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if
-you distribute copies of the library, or if you modify it.
-
-  For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link a program with the library, you must provide
-complete object files to the recipients so that they can relink them
-with the library, after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.
-
-  Our method of protecting your rights has two steps: (1) copyright
-the library, and (2) offer you this license which gives you legal
-permission to copy, distribute and/or modify the library.
-
-  Also, for each distributor's protection, we want to make certain
-that everyone understands that there is no warranty for this free
-library.  If the library is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original
-version, so that any problems introduced by others will not reflect on
-the original authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that companies distributing free
-software will individually obtain patent licenses, thus in effect
-transforming the program into proprietary software.  To prevent this,
-we have made it clear that any patent must be licensed for everyone's
-free use or not licensed at all.
-
-  Most GNU software, including some libraries, is covered by the ordinary
-GNU General Public License, which was designed for utility programs.  This
-license, the GNU Library General Public License, applies to certain
-designated libraries.  This license is quite different from the ordinary
-one; be sure to read it in full, and don't assume that anything in it is
-the same as in the ordinary license.
-
-  The reason we have a separate public license for some libraries is that
-they blur the distinction we usually make between modifying or adding to a
-program and simply using it.  Linking a program with a library, without
-changing the library, is in some sense simply using the library, and is
-analogous to running a utility program or application program.  However, in
-a textual and legal sense, the linked executable is a combined work, a
-derivative of the original library, and the ordinary General Public License
-treats it as such.
-
-  Because of this blurred distinction, using the ordinary General
-Public License for libraries did not effectively promote software
-sharing, because most developers did not use the libraries.  We
-concluded that weaker conditions might promote sharing better.
-
-  However, unrestricted linking of non-free programs would deprive the
-users of those programs of all benefit from the free status of the
-libraries themselves.  This Library General Public License is intended to
-permit developers of non-free programs to use free libraries, while
-preserving your freedom as a user of such programs to change the free
-libraries that are incorporated in them.  (We have not seen how to achieve
-this as regards changes in header files, but we have achieved it as regards
-changes in the actual functions of the Library.)  The hope is that this
-will lead to faster development of free libraries.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, while the latter only
-works together with the library.
-
-  Note that it is possible for a library to be covered by the ordinary
-General Public License rather than by this special one.
-
-		  GNU LIBRARY GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License Agreement applies to any software library which
-contains a notice placed by the copyright holder or other authorized
-party saying it may be distributed under the terms of this Library
-General Public License (also called "this License").  Each licensee is
-addressed as "you".
-
-  A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
-  The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)
-
-  "Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
-  Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-  
-  1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
-  You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
-  2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) The modified work must itself be a software library.
-
-    b) You must cause the files modified to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    c) You must cause the whole of the work to be licensed at no
-    charge to all third parties under the terms of this License.
-
-    d) If a facility in the modified Library refers to a function or a
-    table of data to be supplied by an application program that uses
-    the facility, other than as an argument passed when the facility
-    is invoked, then you must make a good faith effort to ensure that,
-    in the event an application does not supply such function or
-    table, the facility still operates, and performs whatever part of
-    its purpose remains meaningful.
-
-    (For example, a function in a library to compute square roots has
-    a purpose that is entirely well-defined independent of the
-    application.  Therefore, Subsection 2d requires that any
-    application-supplied function or table used by this function must
-    be optional: if the application does not supply it, the square
-    root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.
-
-  Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
-  This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
-  4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
-  If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
-  However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
-  When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.
-
-  If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
-  Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
-  6. As an exception to the Sections above, you may also compile or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
-  You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:
-
-    a) Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)
-
-    b) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.
-
-    c) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.
-
-    d) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.
-
-  For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the source code distributed need not include anything that is normally
-distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
-  It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
-  7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
-    a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.
-
-    b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.
-
-  8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-  9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
-  10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded.  In such case, this License incorporates the limitation as if
-written in the body of this License.
-
-  13. The Free Software Foundation may publish revised and/or new
-versions of the Library General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
-  14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
-			    NO WARRANTY
-
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-		     END OF TERMS AND CONDITIONS
-
-     Appendix: How to Apply These Terms to Your New Libraries
-
-  If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change.  You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
-  To apply these terms, attach the following notices to the library.  It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the library's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Library General Public
-    License as published by the Free Software Foundation; either
-    version 2 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Library General Public License for more details.
-
-    You should have received a copy of the GNU Library General Public
-    License along with this library; if not, write to the Free
-    Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the
-  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
-  <signature of Ty Coon>, 1 April 1990
-  Ty Coon, President of Vice
-
-That's all there is to it!
-
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 0c41d8a..0000000
--- a/Makefile
+++ /dev/null
@@ -1,113 +0,0 @@
-
-PREFIX	=	/usr/local
-CFLAGS	=	-g -Wall -fPIC
-#CFLAGS  =       -g -DUSE_CPL
-#CC = g++
-
-LIBOBJ	=	shpopen.o dbfopen.o safileio.o shptree.o 
-SHPBIN	=	shpcreate shpadd shpdump shprewind dbfcreate dbfadd dbfdump \
-		shptreedump 
-
-default:	all
-
-all:	$(SHPBIN) shptest lib
-
-shpopen.o:	shpopen.c shapefil.h
-	$(CC) $(CFLAGS) -c shpopen.c
-
-shptree.o:	shptree.c shapefil.h
-	$(CC) $(CFLAGS) -c shptree.c
-
-dbfopen.o:	dbfopen.c shapefil.h
-	$(CC) $(CFLAGS) -c dbfopen.c
-
-safileio.o:	safileio.c shapefil.h
-	$(CC) $(CFLAGS) -c safileio.c
-
-shpcreate:	shpcreate.c shpopen.o safileio.o 
-	$(CC) $(CFLAGS) shpcreate.c shpopen.o safileio.o $(LINKOPT) -o shpcreate
-
-shpadd:		shpadd.c shpopen.o safileio.o
-	$(CC) $(CFLAGS) shpadd.c shpopen.o safileio.o $(LINKOPT) -o shpadd
-
-shpdump:	shpdump.c shpopen.o safileio.o
-	$(CC) $(CFLAGS) shpdump.c shpopen.o safileio.o $(LINKOPT) -o shpdump
-
-shprewind:	shprewind.c shpopen.o safileio.o
-	$(CC) $(CFLAGS) shprewind.c shpopen.o safileio.o $(LINKOPT) -o shprewind
-
-dbfcreate:	dbfcreate.c dbfopen.o safileio.o
-	$(CC) $(CFLAGS) dbfcreate.c dbfopen.o safileio.o $(LINKOPT) -o dbfcreate
-
-dbfadd:		dbfadd.c dbfopen.o safileio.o
-	$(CC) $(CFLAGS) dbfadd.c dbfopen.o safileio.o $(LINKOPT) -o dbfadd
-
-dbfdump:	dbfdump.c dbfopen.o safileio.o
-	$(CC) $(CFLAGS) dbfdump.c dbfopen.o safileio.o $(LINKOPT) -o dbfdump
-
-shptest:	shptest.c shpopen.o safileio.o
-	$(CC) $(CFLAGS) shptest.c shpopen.o safileio.o $(LINKOPT) -o shptest
-
-shputils:	shputils.c shpopen.o safileio.o dbfopen.o 
-	$(CC) $(CFLAGS) shputils.c shpopen.o safileio.o dbfopen.o  $(LINKOPT) -o shputils
-
-shptreedump:	shptreedump.c shptree.o shpopen.o safileio.o
-	$(CC) $(CFLAGS) shptreedump.c shptree.o shpopen.o safileio.o $(LINKOPT) \
-		-o shptreedump
-
-clean:
-	rm -f *.o shptest $(SHPBIN) libshp.a 
-
-test:	test2 test3
-
-#
-#	Note this stream only works if example data is accessable.
-#	Fetch ftp://gdal.velocet.ca/pub/outgoing/shape_eg_data.zip
-#
-test1:
-	@./stream1.sh > s1.out
-	@if test "`diff s1.out stream1.out`" = '' ; then \
-	    echo "******* Stream 1 Succeeded *********"; \
-	    rm s1.out; \
-	else \
-	    echo "******* Stream 1 Failed *********"; \
-	    diff s1.out stream1.out; \
-	fi
-
-test2:
-	@./stream2.sh > s2.out
-	@if test "`diff s2.out stream2.out`" = '' ; then \
-	    echo "******* Stream 2 Succeeded *********"; \
-	    rm s2.out; \
-	    rm test*.s??; \
-	else \
-	    echo "******* Stream 2 Failed *********"; \
-	    diff s2.out stream2.out; \
-	fi
-
-test3:
-	@./makeshape.sh > s3.out
-	@if test "`diff s3.out stream3.out`" = '' ; then \
-	    echo "******* Stream 3 Succeeded *********"; \
-	    rm s3.out; \
-	    rm test.*; \
-	else \
-	    echo "******* Stream 3 Failed *********"; \
-	    diff s3.out stream3.out; \
-	fi
-
-
-lib:	libshp.a
-
-libshp.a:	$(LIBOBJ)
-	ar r libshp.a $(LIBOBJ)
-
-lib_install:	libshp.a
-	cp libshp.a $(PREFIX)/lib
-	cp shapefil.h $(PREFIX)/include
-
-bin_install:	$(SHPBIN)
-	cp $(SHPBIN) $(PREFIX)/bin
-
-install:	lib_install bin_install
-
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000..297c127
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,63 @@
+## Process this file with automake to produce Makefile.in
+
+SUBDIRS = . contrib
+
+ACLOCAL_AMFLAGS = -I m4
+
+if PLATFORM_WIN32
+no_undefined = -no-undefined
+endif
+
+# Extra files to distribute in the source tarball
+EXTRA_DIST = autogen.sh tests web README.tree
+
+# pkg-config file
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = shapelib.pc
+
+# Library
+lib_LTLIBRARIES = libshp.la
+libshp_la_includedir = $(includedir)
+libshp_la_include_HEADERS = shapefil.h
+libshp_la_SOURCES = shpopen.c dbfopen.c safileio.c shptree.c
+libshp_la_LDFLAGS = -version-info $(SHAPELIB_SO_VERSION) $(no_undefined)
+
+# Installed executables
+bin_PROGRAMS = dbfadd dbfcreate dbfdump shpadd shpcreate shpdump shprewind shptreedump shputils
+
+dbfadd_SOURCES = dbfadd.c
+dbfadd_LDADD = $(top_builddir)/libshp.la
+
+dbfcreate_SOURCES = dbfcreate.c
+dbfcreate_LDADD = $(top_builddir)/libshp.la
+
+dbfdump_SOURCES = dbfdump.c
+dbfdump_LDADD = $(top_builddir)/libshp.la
+
+shpadd_SOURCES = shpadd.c
+shpadd_LDADD = $(top_builddir)/libshp.la
+
+shpcreate_SOURCES = shpcreate.c
+shpcreate_LDADD = $(top_builddir)/libshp.la
+
+shpdump_SOURCES = shpdump.c
+shpdump_LDADD = $(top_builddir)/libshp.la
+
+shprewind_SOURCES = shprewind.c
+shprewind_LDADD = $(top_builddir)/libshp.la
+
+shptreedump_SOURCES = shptreedump.c
+shptreedump_LDADD = $(top_builddir)/libshp.la
+
+shputils_SOURCES = shputils.c
+shputils_LDADD = $(top_builddir)/libshp.la
+
+# Non-installed executables
+noinst_PROGRAMS = shptest
+shptest_SOURCES = shptest.c
+shptest_LDADD = $(top_builddir)/libshp.la
+
+# Tests
+TESTS_ENVIRONMENT = top_builddir=$(abs_top_builddir)
+# tests/test1.sh requires ftp://gdal.velocet.ca/pub/outgoing/shape_eg_data.zip
+TESTS = tests/test2.sh tests/test3.sh
diff --git a/NEWS b/NEWS
new file mode 100644
index 0000000..8d1c8b6
--- /dev/null
+++ b/NEWS
@@ -0,0 +1 @@
+ 
diff --git a/README b/README
index 5ae71bb..81af4b1 100755
--- a/README
+++ b/README
@@ -1,41 +1,25 @@
-
-Please read shapelib.html.
-
-Building on Unix
-----------------
-
-1) Edit Makefile, and set CFLAGS, and CC macros as required for the
-   target system.  Often the defaults will work fine.
-
-2) type "make" 
-
-The result should be:
-
-Core shapelib support.  
-  shpopen.o
-  dbfopen.o
-  safileio.o
-  shptree.o
-  libshp.a
-
-Utility/demonstration programs:
-  shpcreate, shpdump, shpadd, dbfcreate, dbfdump, dbfadd, shptreedump
-
-3) To test type:
-  make test
-
-4) To libshp.a and the test binaries in /usr/local:
-  make install 
-
-
-Building on Windows
--------------------
-
-If you have run the VC++ VCVARS32.BAT, you should be able to type the 
-following in a command window to build the code and executables:
-
-C:>  nmake /f makefile.vc 
-
-Otherwise create your own VC++ project.  There aren't many files to deal with
-here!
-
+
+Building on Unix
+----------------
+
+1) run ./configure to generate build scripts
+   Note: type ./configure --help for a list of fine-tuning options
+
+2) type "make" 
+
+3) type "make check" to perform self-tests
+
+4) type "make install" to install
+
+
+Building on Windows
+-------------------
+
+If you have run the VC++ VCVARS32.BAT, you should be able to type the 
+following in a command window to build the code and executables:
+
+C:>  nmake /f makefile.vc 
+
+Otherwise create your own VC++ project.  There aren't many files to deal with
+here!
+
diff --git a/autogen.sh b/autogen.sh
new file mode 100755
index 0000000..8a4e994
--- /dev/null
+++ b/autogen.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+# Run this to generate all the initial makefiles, etc.
+
+srcdir="$(dirname "$(readlink -f $0)")"
+
+(test -f $srcdir/configure.ac) || {
+  echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
+  echo " top-level package directory"
+  echo
+  exit 1
+}
+
+(libtool --version) < /dev/null > /dev/null 2>&1 || {
+  echo "**Error**: You must have \`libtool' installed."
+  echo "You can get it from: ftp://ftp.gnu.org/pub/gnu/"
+  echo
+  exit 1
+}
+
+(autoreconf --version) < /dev/null > /dev/null 2>&1 || {
+  echo "**Error**: You must have \`autoreconf' installed."
+  echo "Download the appropriate package for your distribution,"
+  echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
+  echo
+  exit 1
+}
+
+
+(
+  cd "$srcdir"
+  echo "Running autoreconf..."
+  autoreconf -fiv
+)
+
+
+if test x$NOCONFIGURE = x; then
+  echo Running $srcdir/configure "$@" ...
+  $srcdir/configure "$@" \
+  && echo Now type \`make\' to compile. || exit 1
+else
+  echo Skipping configure process.
+fi
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000..d2cc63f
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,65 @@
+dnl Process this file with autoconf to produce a configure script.
+
+m4_define(shapelib_version_major, 1)
+m4_define(shapelib_version_minor, 3)
+m4_define(shapelib_version_micro, 0)
+
+AC_PREREQ(2.62)
+AC_INIT(shapelib, shapelib_version_major.shapelib_version_minor.shapelib_version_micro)
+AC_CONFIG_MACRO_DIR(m4)
+AC_CONFIG_SRCDIR(shapefil.h)
+
+AM_INIT_AUTOMAKE([-Wall])
+
+AM_SILENT_RULES([yes])
+
+m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+
+dnl See http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
+AC_SUBST([SHAPELIB_SO_VERSION], [1:1:0])
+
+AC_PROG_CC
+AC_PROG_CXX
+AM_PROG_CC_C_O
+AC_LANG([C])
+AC_LANG([C++])
+
+dnl ************************** Libtool initialization *************************
+LT_INIT
+
+dnl ********************************* Modules *********************************
+AC_ARG_WITH([proj-cflags],
+  [AS_HELP_STRING([--with-proj-clfags], [CFLAGS for the PROJ.4 headers])],
+  [PROJ_CFLAGS="$withval"],
+  [PROJ_CFLAGS=''])
+AC_SUBST([PROJ_CFLAGS])
+
+AC_ARG_WITH([proj-libs],
+  [AS_HELP_STRING([--with-proj-libs], [LIBS for the PROJ.4 libraries])],
+  [PROJ_LIBS="$withval"],
+  [PROJ_LIBS='-lproj'])
+AC_SUBST([PROJ_LIBS])
+
+dnl ****************************** Detect Win32 *******************************
+AC_MSG_CHECKING([for some Win32 platform])
+case "$host" in
+  *-*-mingw*|*-*-cygwin*)
+    platform_win32=yes
+    ;;
+  *)
+    platform_win32=no
+    ;;
+esac
+AC_MSG_RESULT([$platform_win32])
+AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
+
+dnl ********************************* Summary *********************************
+echo
+echo "Configuration summary for $PACKAGE $VERSION:"
+echo "  - Host:                  ${host}"
+echo "  - PROJ flags:            $PROJ_CFLAGS $PROJ_LIBS"
+echo
+
+AC_CONFIG_FILES([Makefile contrib/Makefile shapelib.pc])
+
+AC_OUTPUT
diff --git a/contrib/Makefile b/contrib/Makefile
deleted file mode 100644
index 9ae82f2..0000000
--- a/contrib/Makefile
+++ /dev/null
@@ -1,66 +0,0 @@
-
-#LINKOPT	=	/usr/local/lib/libdbmalloc.a
-#CFLAGS	=	-g
-
-# Endian: define either _LITTLE_ENDIAN or _BIG_ENDIAN
-ENDIAN	=	-D_LITTLE_ENDIAN
-
-CFLAGS	=	-g -I.. -I$(HOME)/bld/include -DPROJ4 $(ENDIAN) -DDEBUG -DDEBUG2 
-
-SHPOBJ	=	../shpopen.o ../dbfopen.o ../safileio.o
-
-SHPGOBJ =	../shpopen.o ../dbfopen.o ../safileio.o shpgeo.o
-
-GEOOBJ	=	./shpgeo.o -lm -L$(HOME)/bld/lib -lproj
-
-default:	all
-
-all:	shpdxf shpproj dbfinfo shpcentrd shpdata shpwkb dbfinfo dbfcat shpinfo shpfix shpcat Shape_PointInPoly shpsort
-
-clean:  
-	rm -f shpdxf shpproj dbfinfo shpcentrd shpdata shpwkb dbfcat dbfinfo shpinfo shpfix shpcat *.o
-
-shpgeo.o:	shpgeo.c shpgeo.h
-	$(CC) $(CFLAGS) -c shpgeo.c
-
-shpdxf:		shpdxf.c $(SHPOBJ)
-	$(CC) $(CFLAGS) shpdxf.c ${SHPOBJ} $(LINKOPT) -o shpdxf
-
-shpcentrd:	shpcentrd.c $(SHPGOBJ)
-	$(CC) $(CFLAGS) shpcentrd.c ${SHPOBJ} $(LINKOPT) $(GEOOBJ) -o shpcentrd
-
-shpdata:	shpdata.c $(SHPGOBJ)
-	$(CC) $(CFLAGS) shpdata.c ${SHPOBJ} $(LINKOPT) $(GEOOBJ) -o shpdata
-
-shpinfo:	shpinfo.c $(SHPOBJ)
-	$(CC) $(CFLAGS) shpinfo.c ${SHPOBJ} $(LINKOPT) $(GEOOBJ) -o shpinfo
-
-shpfix:		shpfix.c $(SHPOBJ)
-	$(CC) $(CFLAGS) shpfix.c ${SHPOBJ} $(LINKOPT) -o shpfix
-
-shpcat:		shpcat.c $(SHPOBJ)
-	$(CC) $(CFLAGS) shpcat.c ${SHPOBJ} $(LINKOPT) -o shpcat
-
-shpwkb:		shpwkb.c $(SHPGOBJ)
-	$(CC) $(CFLAGS) shpwkb.c ${SHPOBJ} $(LINKOPT) $(GEOOBJ) -o shpwkb
-
-shpproj: 	shpproj.c $(SHPGOBJ)
-	$(CC) $(CFLAGS) shpproj.c  $(SHPOBJ) $(GEOOBJ) -lm -lproj $(LINKOPT) -o shpproj
-
-shpsort:		shpsort.c $(SHPOBJ)
-	$(CC) $(CFLAGS) shpsort.c ${SHPOBJ} $(LINKOPT) -lm -o shpsort
-
-dbfinfo: 	dbfinfo.c $(SHPOBJ)
-	$(CC) $(CFLAGS) dbfinfo.c $(SHPOBJ) $(LINKOPT) -o dbfinfo
-
-dbfcat:		dbfcat.c $(SHPOBJ)
-	$(CC) $(CFLAGS) dbfcat.c $(SHPOBJ) $(LINKOPT) -o dbfcat
-
-Shape_PointInPoly:	Shape_PointInPoly.cpp $(SHPOBJ)
-	$(CXX) $(CFLAGS) Shape_PointInPoly.cpp $(SHPOBJ) $(LINKOPT) \
-		-o Shape_PointInPoly
-
-check:	testproj
-
-testproj: 
-	tests/shpproj.sh
diff --git a/contrib/Makefile.am b/contrib/Makefile.am
new file mode 100644
index 0000000..4c0bed0
--- /dev/null
+++ b/contrib/Makefile.am
@@ -0,0 +1,60 @@
+CONTRIB_CFLAGS = -I$(top_srcdir) -DDEBUG -DDEBUG2
+PROJ_CFLAGS += -DPROJ4
+
+# Extra files to distribute in the source tarball
+EXTRA_DIST = tests doc ShapeFileII.pas
+
+# Installed executables
+bin_PROGRAMS = dbfcat dbfinfo shpcat shpdxf shpfix shpsort Shape_PointInPoly shpcentrd shpdata shpinfo shpproj shpwkb
+
+dbfcat_SOURCES = dbfcat.c
+dbfcat_CPPFLAGS = $(CONTRIB_CFLAGS)
+dbfcat_LDADD = $(top_builddir)/libshp.la
+
+dbfinfo_SOURCES = dbfinfo.c
+dbfinfo_CPPFLAGS = $(CONTRIB_CFLAGS)
+dbfinfo_LDADD = $(top_builddir)/libshp.la
+
+shpcat_SOURCES = shpcat.c
+shpcat_CPPFLAGS = $(CONTRIB_CFLAGS)
+shpcat_LDADD = $(top_builddir)/libshp.la
+
+shpdxf_SOURCES = shpdxf.c
+shpdxf_CPPFLAGS = $(CONTRIB_CFLAGS)
+shpdxf_LDADD = $(top_builddir)/libshp.la
+
+shpfix_SOURCES = shpfix.c
+shpfix_CPPFLAGS = $(CONTRIB_CFLAGS)
+shpfix_LDADD = $(top_builddir)/libshp.la
+
+shpsort_SOURCES = shpsort.c
+shpsort_CPPFLAGS = $(CONTRIB_CFLAGS)
+shpsort_LDADD = $(top_builddir)/libshp.la -lm
+
+Shape_PointInPoly_SOURCES = Shape_PointInPoly.cpp
+Shape_PointInPoly_CPPFLAGS = $(CONTRIB_CFLAGS)
+Shape_PointInPoly_LDADD = $(top_builddir)/libshp.la
+
+shpcentrd_SOURCES = shpcentrd.c shpgeo.c shpgeo.h
+shpcentrd_CPPFLAGS = $(CONTRIB_CFLAGS) $(PROJ_CFLAGS)
+shpcentrd_LDADD = $(top_builddir)/libshp.la $(PROJ_LIBS) -lm
+
+shpdata_SOURCES = shpdata.c shpgeo.c shpgeo.h
+shpdata_CPPFLAGS = $(CONTRIB_CFLAGS) $(PROJ_CFLAGS)
+shpdata_LDADD = $(top_builddir)/libshp.la $(PROJ_LIBS) -lm
+
+shpinfo_SOURCES = shpinfo.c shpgeo.c shpgeo.h
+shpinfo_CPPFLAGS = $(CONTRIB_CFLAGS) $(PROJ_CFLAGS)
+shpinfo_LDADD = $(top_builddir)/libshp.la $(PROJ_LIBS) -lm
+
+shpproj_SOURCES = shpproj.c shpgeo.c shpgeo.h
+shpproj_CPPFLAGS = $(CONTRIB_CFLAGS) $(PROJ_CFLAGS)
+shpproj_LDADD = $(top_builddir)/libshp.la $(PROJ_LIBS) -lm
+
+shpwkb_SOURCES = shpwkb.c shpgeo.c shpgeo.h
+shpwkb_CPPFLAGS = $(CONTRIB_CFLAGS) $(PROJ_CFLAGS)
+shpwkb_LDADD = $(top_builddir)/libshp.la $(PROJ_LIBS) -lm
+
+# Tests
+TESTS_ENVIRONMENT = top_builddir=$(abs_top_builddir)
+TESTS = tests/shpproj.sh
diff --git a/contrib/Shape_PointInPoly_README.txt b/contrib/Shape_PointInPoly_README.txt
deleted file mode 100644
index dffe2eb..0000000
--- a/contrib/Shape_PointInPoly_README.txt
+++ /dev/null
@@ -1,59 +0,0 @@
-===============================================================================
-Project:  Shape_PoinInPoly
-Purpose:  Sample and the function for calculatin a point in a polygon 
-	  (complex,compound - it doesn't matter). Can be used for labeling.
-Author:   Copyright (c) 2004, Marko Podgorsek, d-mon@siol.net
-===============================================================================
-Requires: shapelib 1.2 (http://shapelib.maptools.org/)
-Tested and created on platform: 
-   Windows 2000 Professional
-   Visual Studio .NET 7.0
-   P4 2.4 GHz
-   1GB RAM
-
-I just found out about the ShapeLib, GDAL and OGR and I must say that they're 
-all great projects.
-I belive I'll use some of those libraries in the future. Right now I'm using 
-only shapelib.
-The thing that led me to the http://wwww.maptools.org was the need of finding 
-the point in poly...but as I found out that even OGR didn't support it. So 
-there I was. I was forced to make my own function. Well, it was fun. I learned
-a lot.
-I wrote this function for the Autodesk Autocad 2004 MPolygon, because there was
-no function to do this in the Object Arx SDK (the Acad programming SDK). Well, 
-it will be in the 2005 release...but, still. There is a function in the 
-Autodesk Map 2004 version...in the menu.
-Not usefull when you need the coordinates, not the point on the screen...
-So when the Acad version was done I was thinking of doing it on the Shape files,
-too. A little bit of changing the structures and variable
-types (so they're not using Object Arx) and I was done.
-And here it is....Contribution from me to the ShapeLib world :)...and maybe even
-OGR (a little bit of changing there).
-
-Some statistics:
-For about 69000 polygons in Autocad picture (.dwg files)
-Autodesk Map 2004 was creating centroids (the menu command) about 45s (1 scan 
-line)
-My function, with 3 scan lines took about 5s. And I was drawing the dots on the
-picture...
-
--------------------------------------------------------------------------------
-DPoint2d CreatePointInPoly(SHPObject *psShape, int quality)
-
-The second parameter quality tell the function just how many rays shall it use
-to get the point. 
-quality = 3 works very well, but anything below 5 is good.
-This doesn't mean that the execution will slow down, but it just finds a good
-point. That's all.
-
-The qality shows on the compound objects (multiple poligons with more than one
-exterior loop) - if not enough rays, then there may be no centroid.
-Or the U shaped thin polygon, only the bootom (below the y center line) is fat.
-Autodesk Map with one scan line will create the centroid on one of the thin
-parts, because it only uses the y center line. If you have more rays, one will
-surely pass the fat area and centroid will be created there.
-
--------------------------------------------------------------------------------
-Anyone using this function:
-Just send me an e-mail, so I'll see if I did anything good for the public.
-And you can send me e-mail with questions also.
diff --git a/contrib/doc/Shape_PointInPoly_README.txt b/contrib/doc/Shape_PointInPoly_README.txt
new file mode 100644
index 0000000..dffe2eb
--- /dev/null
+++ b/contrib/doc/Shape_PointInPoly_README.txt
@@ -0,0 +1,59 @@
+===============================================================================
+Project:  Shape_PoinInPoly
+Purpose:  Sample and the function for calculatin a point in a polygon 
+	  (complex,compound - it doesn't matter). Can be used for labeling.
+Author:   Copyright (c) 2004, Marko Podgorsek, d-mon@siol.net
+===============================================================================
+Requires: shapelib 1.2 (http://shapelib.maptools.org/)
+Tested and created on platform: 
+   Windows 2000 Professional
+   Visual Studio .NET 7.0
+   P4 2.4 GHz
+   1GB RAM
+
+I just found out about the ShapeLib, GDAL and OGR and I must say that they're 
+all great projects.
+I belive I'll use some of those libraries in the future. Right now I'm using 
+only shapelib.
+The thing that led me to the http://wwww.maptools.org was the need of finding 
+the point in poly...but as I found out that even OGR didn't support it. So 
+there I was. I was forced to make my own function. Well, it was fun. I learned
+a lot.
+I wrote this function for the Autodesk Autocad 2004 MPolygon, because there was
+no function to do this in the Object Arx SDK (the Acad programming SDK). Well, 
+it will be in the 2005 release...but, still. There is a function in the 
+Autodesk Map 2004 version...in the menu.
+Not usefull when you need the coordinates, not the point on the screen...
+So when the Acad version was done I was thinking of doing it on the Shape files,
+too. A little bit of changing the structures and variable
+types (so they're not using Object Arx) and I was done.
+And here it is....Contribution from me to the ShapeLib world :)...and maybe even
+OGR (a little bit of changing there).
+
+Some statistics:
+For about 69000 polygons in Autocad picture (.dwg files)
+Autodesk Map 2004 was creating centroids (the menu command) about 45s (1 scan 
+line)
+My function, with 3 scan lines took about 5s. And I was drawing the dots on the
+picture...
+
+-------------------------------------------------------------------------------
+DPoint2d CreatePointInPoly(SHPObject *psShape, int quality)
+
+The second parameter quality tell the function just how many rays shall it use
+to get the point. 
+quality = 3 works very well, but anything below 5 is good.
+This doesn't mean that the execution will slow down, but it just finds a good
+point. That's all.
+
+The qality shows on the compound objects (multiple poligons with more than one
+exterior loop) - if not enough rays, then there may be no centroid.
+Or the U shaped thin polygon, only the bootom (below the y center line) is fat.
+Autodesk Map with one scan line will create the centroid on one of the thin
+parts, because it only uses the y center line. If you have more rays, one will
+surely pass the fat area and centroid will be created there.
+
+-------------------------------------------------------------------------------
+Anyone using this function:
+Just send me an e-mail, so I'll see if I did anything good for the public.
+And you can send me e-mail with questions also.
diff --git a/contrib/doc/shpsort.txt b/contrib/doc/shpsort.txt
new file mode 100644
index 0000000..7e40348
--- /dev/null
+++ b/contrib/doc/shpsort.txt
@@ -0,0 +1,44 @@
+============================= ABOUT =========================================== 
+
+The program "shpsort" is a standalone program for sorting shapefiles
+on one or more fields (including the pseudofield "SHAPE") and outputing
+the results.  People may find it useful for forcing drawing order.
+
+============================= AUTHOR ==========================================
+
+Eric G. Miller
+California Department of Fish and Game
+2004-06-30
+
+============================= USAGE ===========================================
+
+shpsort <INFILE> <OUTFILE> <SORT_FIELD;SORT_FIELD...> {SORT_ORDER;SORT_ORDER...}
+
+============================= DETAILS =========================================
+
+INFILE		The input shapefile
+
+OUTFILE		The output shapefile
+
+SORT_FIELD	Any attribute field of the shapefile, including "SHAPE"
+
+SORT_ORDER	Specify "ASCENDING" or "DESCENDING" for each SORT_FIELD.
+		This field is optional, and is assumed to be ASCENDING
+		unless the exact word "DESCENDING" is specified (case
+		matters).
+
+	When sorting on the "SHAPE" the records are sorted as follows:
+
+	*  Null shapes are treated as any other null field and will
+	   sort to the top in ASCENDING mode.  A warning is issued
+	   for each null shape encountered.
+	*  POINT, POINTM, POINTZ, MULTIPOINT, MULTIPOINTM, MULTIPOINTZ
+	   and MULTIPATCH are all sorted by the maximum "Y" value of
+	   their envelopes (not particularly useful).
+	*  POLYLINE, POLYLINEZ and POLYLINEM are sorted by total 2d 
+	   shape length.
+	*  POLYGON, POLYGONZ and POLYGONM are sorted by the 2d shape 
+	   area. Shapes are assumed to be in canonical ordering, so that
+	   the area of interior rings (if any) is subtracted from the
+	   area of exterior rings.
+
diff --git a/contrib/my_nan.h b/contrib/my_nan.h
deleted file mode 100644
index 28d3386..0000000
--- a/contrib/my_nan.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/* `NAN' constant for IEEE 754 machines.
-   Copyright (C) 1992, 1996 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-#ifndef	_GNU_NAN_H
-
-#define	_GNU_NAN_H	1
-
-
-/* hacked to define NAN on Solaris 2.7 if it wasn't defined  */
-
-/* IEEE Not A Number.  */
-
-#ifdef _BIG_ENDIAN
-#  define	__nan_bytes		{ 0x7f, 0xf8, 0, 0, 0, 0, 0, 0 }
-#endif
-#ifdef _LITTLE_ENDIAN
-#  define	__nan_bytes		{ 0, 0, 0, 0, 0, 0, 0xf8, 0x7f }
-#endif
-
-#ifdef	__GNUC__
-#  define	NAN \
-  (__extension__ ((union { unsigned char __c[8];			      \
-			   double __d; })				      \
-		  { __nan_bytes }).__d)
-#else	/* Not GCC.  */
-   static const char __nan[8] = __nan_bytes;
-#  define	NAN	(*(const double *) __nan)
-#endif
-
-#endif	/* gnu_nan.h */
diff --git a/contrib/shpgeo.c b/contrib/shpgeo.c
index 09d5ff6..394b218 100644
--- a/contrib/shpgeo.c
+++ b/contrib/shpgeo.c
@@ -74,10 +74,6 @@
 #include <string.h>
 #include "shapefil.h"
 
-#ifndef NAN
-#include "my_nan.h"
-#endif
-
 #include "shpgeo.h"
 
 
diff --git a/contrib/shpsort.txt b/contrib/shpsort.txt
deleted file mode 100644
index 7e40348..0000000
--- a/contrib/shpsort.txt
+++ /dev/null
@@ -1,44 +0,0 @@
-============================= ABOUT =========================================== 
-
-The program "shpsort" is a standalone program for sorting shapefiles
-on one or more fields (including the pseudofield "SHAPE") and outputing
-the results.  People may find it useful for forcing drawing order.
-
-============================= AUTHOR ==========================================
-
-Eric G. Miller
-California Department of Fish and Game
-2004-06-30
-
-============================= USAGE ===========================================
-
-shpsort <INFILE> <OUTFILE> <SORT_FIELD;SORT_FIELD...> {SORT_ORDER;SORT_ORDER...}
-
-============================= DETAILS =========================================
-
-INFILE		The input shapefile
-
-OUTFILE		The output shapefile
-
-SORT_FIELD	Any attribute field of the shapefile, including "SHAPE"
-
-SORT_ORDER	Specify "ASCENDING" or "DESCENDING" for each SORT_FIELD.
-		This field is optional, and is assumed to be ASCENDING
-		unless the exact word "DESCENDING" is specified (case
-		matters).
-
-	When sorting on the "SHAPE" the records are sorted as follows:
-
-	*  Null shapes are treated as any other null field and will
-	   sort to the top in ASCENDING mode.  A warning is issued
-	   for each null shape encountered.
-	*  POINT, POINTM, POINTZ, MULTIPOINT, MULTIPOINTM, MULTIPOINTZ
-	   and MULTIPATCH are all sorted by the maximum "Y" value of
-	   their envelopes (not particularly useful).
-	*  POLYLINE, POLYLINEZ and POLYLINEM are sorted by total 2d 
-	   shape length.
-	*  POLYGON, POLYGONZ and POLYGONM are sorted by the 2d shape 
-	   area. Shapes are assumed to be in canonical ordering, so that
-	   the area of interior rings (if any) is subtracted from the
-	   area of exterior rings.
-
diff --git a/contrib/tests/shpproj.sh b/contrib/tests/shpproj.sh
index 4996791..27af247 100755
--- a/contrib/tests/shpproj.sh
+++ b/contrib/tests/shpproj.sh
@@ -1,38 +1,39 @@
 #!/bin/sh
 
-cd tests 
-
-rm test*
-shpcreate test point
-
-shpadd test -83.54949956              34.992401
-shpadd test -83.52162155              34.99276748
-shpadd test -84.01681518              34.67275985
-shpadd test -84.15596023              34.64862437
-shpadd test -83.61951463              34.54927047
-
-dbfcreate test -s fd 30
-dbfadd test "1"
-dbfadd test "2"
-dbfadd test "3"
-dbfadd test "4"
-dbfadd test "5"
-
-../shpproj test test_1 -i=geographic -o="init=nad83:1002 units=us-ft"
-../shpproj test_1 test_2 -o="proj=utm zone=16 units=m"
-../shpproj test_2 test_3 -o=geographic
-
-shpdump  test    > test.out
-shpdump  test_3  > test_3.out
-result=`diff test.out test_3.out`
-
-if [ -z "${result}" ]; then
-  echo success...
-else
-  echo failure...
-fi
+testdir="$(dirname "$(readlink -f $0)")"
+
+rm -f "$testdir/test*"
+$top_builddir/shpcreate "$testdir/test" point
+
+$top_builddir/shpadd "$testdir/test" -83.54949956              34.992401
+$top_builddir/shpadd "$testdir/test" -83.52162155              34.99276748
+$top_builddir/shpadd "$testdir/test" -84.01681518              34.67275985
+$top_builddir/shpadd "$testdir/test" -84.15596023              34.64862437
+$top_builddir/shpadd "$testdir/test" -83.61951463              34.54927047
 
-rm test*
+$top_builddir/dbfcreate "$testdir/test" -s fd 30
+$top_builddir/dbfadd "$testdir/test" "1"
+$top_builddir/dbfadd "$testdir/test" "2"
+$top_builddir/dbfadd "$testdir/test" "3"
+$top_builddir/dbfadd "$testdir/test" "4"
+$top_builddir/dbfadd "$testdir/test" "5"
 
+$top_builddir/contrib/shpproj "$testdir/test" "$testdir/test_1" -i=geographic -o="init=nad83:1002 units=us-ft"
+$top_builddir/contrib/shpproj "$testdir/test_1" "$testdir/test_2" -o="proj=utm zone=16 units=m"
+$top_builddir/contrib/shpproj "$testdir/test_2" "$testdir/test_3" -o=geographic
 
-cd ..
+$top_builddir/shpdump  "$testdir/test"    > "$testdir/test.out"
+$top_builddir/shpdump  "$testdir/test_3"  > "$testdir/test_3.out"
+
+
+result="$(diff "$testdir/test.out" "$testdir/test_3.out")"
+if [ "$result" == "" ]; then
+	echo "******* Test Succeeded *********"
+	rm -f "$testdir/test*"
+	exit 0
+else
+	echo "******* Test Failed *********"
+	echo "$result"
+	rm -f "$testdir/test*"
+	exit 1
+fi
diff --git a/m4/.gitignore b/m4/.gitignore
new file mode 100644
index 0000000..b1f9a2a
--- /dev/null
+++ b/m4/.gitignore
@@ -0,0 +1 @@
+# Empty file, to make the directory available in the repository
diff --git a/makeshape.sh b/makeshape.sh
deleted file mode 100755
index 7eb088a..0000000
--- a/makeshape.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-
-#
-#	Use example programs to create a very simple dataset that
-#	should display in ARCView II.
-#
-
-./shpcreate test polygon
-./dbfcreate test.dbf -s Description 30 -n TestInt 6 0 -n TestDouble 16 5
-
-./shpadd test 0 0 100 0 100 100 0 100 0 0 + 20 20 20 30 30 30 20 20
-./dbfadd test.dbf "Square with triangle missing" 1.5 2.5
-
-./shpadd test 150 150 160 150 180 170 150 150
-./dbfadd test.dbf "Smaller triangle" 100 1000.25
-
-./shpadd test 150 150 160 150 180 170 150 150
-./dbfadd test.dbf "" "" ""
-
-./shpdump test.shp
-./dbfdump test.dbf
diff --git a/mkdist.sh b/mkdist.sh
deleted file mode 100755
index 829325d..0000000
--- a/mkdist.sh
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/sh
-
-if [ $# -lt 1 ] ; then
-  echo "Usage: mkdist.sh <version>"
-  echo " <version> - version number used in name of generated archive."
-  echo "Example: mkdist.sh 1.1.4"
-  exit
-fi
-
-VERSION=$1
-
-rm -rf dist_wrk
-mkdir dist_wrk
-cd dist_wrk
-
-REP=:pserver:cvsanon@cvs.maptools.org:/cvs/maptools/cvsroot
-if cvs -d $REP co shapelib ; then
-  echo checkout succeeds.
-else
-  cvs -d $REP login
-  cvs -d $REP co shapelib 
-fi 
-
-if [ ! -d shapelib ] ; then
-  exit 1
-fi
-
-mv shapelib shapelib-$VERSION
-
-find . -name CVS -type d -exec echo rm -rf {} \;
-
-tar czvf ../shapelib-$VERSION.tar.gz shapelib-$VERSION
-zip -r ../shapelib-$VERSION.zip shapelib-$VERSION
-cd ..
-rm -rf dist_wrk
-
-
diff --git a/mkinstalldirs b/mkinstalldirs
deleted file mode 100644
index 5e17cd3..0000000
--- a/mkinstalldirs
+++ /dev/null
@@ -1,38 +0,0 @@
-#! /bin/sh
-# mkinstalldirs --- make directory hierarchy
-# Author: Noah Friedman <friedman@prep.ai.mit.edu>
-# Created: 1993-05-16
-# Public domain
-
-errstatus=0
-
-for file
-do
-   set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
-   shift
-
-   pathcomp=
-   for d
-   do
-     pathcomp="$pathcomp$d"
-     case "$pathcomp" in
-       -* ) pathcomp=./$pathcomp ;;
-     esac
-
-     if test ! -d "$pathcomp"; then
-        echo "mkdir $pathcomp"
-
-        mkdir "$pathcomp" || lasterr=$?
-
-        if test ! -d "$pathcomp"; then
-  	  errstatus=$lasterr
-        fi
-     fi
-
-     pathcomp="$pathcomp/"
-   done
-done
-
-exit $errstatus
-
-# mkinstalldirs ends here
diff --git a/mkrelease.sh b/mkrelease.sh
deleted file mode 100755
index a25f9aa..0000000
--- a/mkrelease.sh
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/bin/sh
-#
-# mkrelease.sh - prepares Shapelib source distribution package
-#
-if [ $# -lt 1 ] ; then
-  echo "Usage: mkrelease.sh <version>"
-  echo " <version> - version number used in name of generated archive."
-  echo
-  echo "Example: mkrelease 1.3.0beta1"
-  exit
-fi
-
-#
-# Processing script input arguments
-#
-VERSION=$1
-
-#
-# Checkout Shapelib sources from the repository
-#
-echo "* Downloading Shapelib sources from CVS..."
-rm -rf dist_wrk  
-mkdir dist_wrk
-cd dist_wrk
-
-cvs -d :pserver:cvsanon@cvs.maptools.org:/cvs/maptools/cvsroot export -D now shapelib 
-
-if [ \! -d shapelib ] ; then
-	echo "checkout reported an error ..."
-        echo "perhaps you need to do:"
-        echo "cvs -d :pserver:cvsanon@cvs.maptools.org:/cvs/maptools/cvsroot login"
-	cd ..
-	rm -rf dist_wrk
-	exit
-fi
-
-#
-# Make distribution packages
-#
-echo "* Making distribution packages..."
-
-mv shapelib shapelib-${VERSION}
-
-rm -f ../shapelib-${VERSION}.tar.gz ../shapelib-${VERSION}.zip
-
-tar cf ../shapelib-${VERSION}.tar shapelib-${VERSION}
-gzip -9 ../shapelib-${VERSION}.tar
-zip -r ../shapelib-${VERSION}.zip shapelib-${VERSION}
-
-echo "* Cleaning..."
-cd ..
-rm -rf dist_wrk
-
-echo "*** The End ***"
-
diff --git a/shapelib.pc.in b/shapelib.pc.in
new file mode 100644
index 0000000..99f0034
--- /dev/null
+++ b/shapelib.pc.in
@@ -0,0 +1,14 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+datarootdir=@datarootdir@
+datadir=@datadir@
+includedir=@includedir@
+
+Name: shapelib
+Description: C API for processing ESRI Shapefiles
+Version: @VERSION@
+Libs.private: @PROJ_LIBS@
+Cflags.private: @PROJ_CFLAGS@
+Libs: -L${libdir} -lshp
+Cflags: -I${includedir}
diff --git a/stream1.out b/stream1.out
deleted file mode 100644
index de59c44..0000000
--- a/stream1.out
+++ /dev/null
@@ -1,1465 +0,0 @@
--------------------------------------------------------------------------
-Test 1: dump anno.shp
--------------------------------------------------------------------------
-Shapefile Type: Polygon   # of Shapes: 201
-
-File Bounds: (  471276.281, 4751595.500,0,0)
-         to  (  492683.536, 4765390.413,0,0)
-
-Shape:0 (Polygon)  nVertices=5, nParts=1
-  Bounds:(  486019.130, 4764549.500, 0, 0)
-      to (  486356.183, 4765212.744, 0, 0)
-     (  486089.531, 4764549.500, 0, 0) Ring 
-     (  486019.130, 4764579.128, 0, 0)  
-     (  486285.782, 4765212.744, 0, 0)  
-     (  486356.183, 4765183.116, 0, 0)  
-     (  486089.531, 4764549.500, 0, 0)  
-
-Shape:1 (Polygon)  nVertices=5, nParts=1
-  Bounds:(  484948.275, 4763866.500, 0, 0)
-      to (  485333.012, 4764070.376, 0, 0)
-     (  484974.719, 4763866.500, 0, 0) Ring 
-     (  484948.275, 4763938.159, 0, 0)  
-     (  485306.569, 4764070.376, 0, 0)  
-     (  485333.012, 4763998.717, 0, 0)  
-     (  484974.719, 4763866.500, 0, 0)  
-
-Shape:2 (Polygon)  nVertices=5, nParts=1
-  Bounds:(  485577.021, 4764106.500, 0, 0)
-      to (  485818.355, 4764259.305, 0, 0)
-     (  485604.156, 4764106.500, 0, 0) Ring 
-     (  485577.021, 4764177.900, 0, 0)  
-     (  485791.220, 4764259.305, 0, 0)  
-     (  485818.355, 4764187.906, 0, 0)  
-     (  485604.156, 4764106.500, 0, 0)  
-
-Shape:3 (Polygon)  nVertices=5, nParts=1
-  Bounds:(  484861.500, 4762570.513, 0, 0)
-      to (  485092.062, 4763026.856, 0, 0)
-     (  485092.062, 4762597.000, 0, 0) Ring 
-     (  485020.420, 4762570.513, 0, 0)  
-     (  484861.500, 4763000.370, 0, 0)  
-     (  484933.143, 4763026.856, 0, 0)  
-     (  485092.062, 4762597.000, 0, 0)  
-
-Shape:4 (Polygon)  nVertices=5, nParts=1
-  Bounds:(  484452.624, 4763792.614, 0, 0)
-      to (  484628.031, 4764105.947, 0, 0)
-     (  484628.031, 4763818.500, 0, 0) Ring 
-     (  484556.169, 4763792.614, 0, 0)  
-     (  484452.624, 4764080.061, 0, 0)  
-     (  484524.486, 4764105.947, 0, 0)  
-     (  484628.031, 4763818.500, 0, 0)  
-
-Shape:5 (Polygon)  nVertices=5, nParts=1
-  Bounds:(  484355.352, 4764139.435, 0, 0)
-      to (  484505.344, 4764380.892, 0, 0)
-     (  484505.344, 4764165.500, 0, 0) Ring 
-     (  484433.546, 4764139.435, 0, 0)  
-     (  484355.352, 4764354.827, 0, 0)  
-     (  484427.150, 4764380.892, 0, 0)  
-     (  484505.344, 4764165.500, 0, 0)  
-
-Shape:6 (Polygon)  nVertices=9, nParts=1
-  Bounds:(  484548.866, 4763118.531, 0, 0)
-      to (  484772.062, 4763742.258, 0, 0)
-     (  484772.062, 4763152.000, 0, 0) Ring 
-     (  484703.404, 4763118.531, 0, 0)  
-     (  484605.763, 4763318.832, 0, 0)  
-     (  484548.866, 4763471.149, 0, 0)  
-     (  484603.088, 4763742.258, 0, 0)  
-     (  484677.987, 4763727.278, 0, 0)  
-     (  484628.031, 4763477.500, 0, 0)  
-     (  484676.031, 4763349.000, 0, 0)  
-     (  484772.062, 4763152.000, 0, 0)  
-
-Shape:7 (Polygon)  nVertices=5, nParts=1
-  Bounds:(  484671.739, 4763562.500, 0, 0)
-      to (  484911.415, 4763682.338, 0, 0)
-     (  484686.719, 4763562.500, 0, 0) Ring 
-     (  484671.739, 4763637.399, 0, 0)  
-     (  484896.435, 4763682.338, 0, 0)  
-     (  484911.415, 4763607.439, 0, 0)  
-     (  484686.719, 4763562.500, 0, 0)  
-
-Shape:8 (Polygon)  nVertices=5, nParts=1
-  Bounds:(  484930.172, 4763125.500, 0, 0)
-      to (  485596.342, 4763453.269, 0, 0)
-     (  484958.719, 4763125.500, 0, 0) Ring 
-     (  484930.172, 4763196.347, 0, 0)  
-     (  485567.795, 4763453.269, 0, 0)  
-     (  485596.342, 4763382.423, 0, 0)  
-     (  484958.719, 4763125.500, 0, 0)  
-
-Shape:9 (Polygon)  nVertices=5, nParts=1
-  Bounds:(  485102.757, 4763082.500, 0, 0)
-      to (  485344.154, 4763234.029, 0, 0)
-     (  485129.406, 4763082.500, 0, 0) Ring 
-     (  485102.757, 4763154.083, 0, 0)  
-     (  485317.505, 4763234.029, 0, 0)  
-     (  485344.154, 4763162.446, 0, 0)  
-     (  485129.406, 4763082.500, 0, 0)  
-
-Shape:10 (Polygon)  nVertices=5, nParts=1
-  Bounds:(  485368.786, 4762538.500, 0, 0)
-      to (  485824.016, 4762774.029, 0, 0)
-     (  485396.156, 4762538.500, 0, 0) Ring 
-     (  485368.786, 4762609.810, 0, 0)  
-     (  485796.646, 4762774.029, 0, 0)  
-     (  485824.016, 4762702.719, 0, 0)  
-     (  485396.156, 4762538.500, 0, 0)  
-
-Shape:11 (Polygon)  nVertices=5, nParts=1
-  Bounds:(  487002.484, 4763184.000, 0, 0)
-      to (  487243.960, 4763333.368, 0, 0)
-     (  487028.312, 4763184.000, 0, 0) Ring 
-     (  487002.484, 4763255.883, 0, 0)  
-     (  487218.132, 4763333.368, 0, 0)  
-     (  487243.960, 4763261.486, 0, 0)  
-     (  487028.312, 4763184.000, 0, 0)  
-
-Shape:12 (Polygon)  nVertices=5, nParts=1
-  Bounds:(  486733.537, 4762455.413, 0, 0)
-      to (  487076.312, 4763275.483, 0, 0)
-     (  487076.312, 4762480.000, 0, 0) Ring 
-     (  487003.996, 4762455.413, 0, 0)  
-     (  486733.537, 4763250.896, 0, 0)  
-     (  486805.854, 4763275.483, 0, 0)  
-     (  487076.312, 4762480.000, 0, 0)  
-
-Shape:13 (Polygon)  nVertices=5, nParts=1
-  Bounds:(  486440.735, 4762331.029, 0, 0)
-      to (  486772.281, 4763075.311, 0, 0)
-     (  486772.281, 4762357.000, 0, 0) Ring 
-     (  486700.450, 4762331.029, 0, 0)  
-     (  486440.735, 4763049.339, 0, 0)  
-     (  486512.566, 4763075.311, 0, 0)  
-     (  486772.281, 4762357.000, 0, 0)  
-
-Shape:14 (Polygon)  nVertices=5, nParts=1
-  Bounds:(  486383.882, 4762986.530, 0, 0)
-      to (  486521.594, 4763227.908, 0, 0)
-     (  486521.594, 4763008.000, 0, 0) Ring 
-     (  486448.291, 4762986.530, 0, 0)  
-     (  486383.882, 4763206.438, 0, 0)  
-     (  486457.184, 4763227.908, 0, 0)  
-     (  486521.594, 4763008.000, 0, 0)  
-
-Shape:15 (Polygon)  nVertices=9, nParts=1
-  Bounds:(  486360.416, 4762774.310, 0, 0)
-      to (  486800.882, 4763656.208, 0, 0)
-     (  486489.594, 4763600.000, 0, 0) Ring 
-     (  486541.313, 4763656.208, 0, 0)  
-     (  486762.057, 4763453.094, 0, 0)  
-     (  486800.882, 4763266.659, 0, 0)  
-     (  486420.883, 4762774.310, 0, 0)  
-     (  486360.416, 4762820.979, 0, 0)  
-     (  486718.938, 4763285.500, 0, 0)  
-     (  486692.281, 4763413.500, 0, 0)  
-     (  486489.594, 4763600.000, 0, 0)  
-
-Shape:16 (Polygon)  nVertices=5, nParts=1
-  Bounds:(  486682.872, 4762181.000, 0, 0)
-      to (  487292.496, 4762415.463, 0, 0)
-     (  486702.969, 4762181.000, 0, 0) Ring 
-     (  486682.872, 4762254.691, 0, 0)  
-     (  487272.400, 4762415.463, 0, 0)  
-     (  487292.496, 4762341.772, 0, 0)  
-     (  486702.969, 4762181.000, 0, 0)  
-
-Shape:17 (Polygon)  nVertices=5, nParts=1
-  Bounds:(  487480.713, 4762283.320, 0, 0)
-      to (  487732.406, 4762812.552, 0, 0)
-     (  487732.406, 4762309.000, 0, 0) Ring 
-     (  487660.470, 4762283.320, 0, 0)  
-     (  487480.713, 4762786.872, 0, 0)  
-     (  487552.649, 4762812.552, 0, 0)  
-     (  487732.406, 4762309.000, 0, 0)  
-
-Shape:18 (Polygon)  nVertices=5, nParts=1
-  Bounds:(  487069.757, 4763685.709, 0, 0)
-      to (  487220.344, 4763927.145, 0, 0)
-     (  487220.344, 4763712.000, 0, 0) Ring 
-     (  487148.629, 4763685.709, 0, 0)  
-     (  487069.757, 4763900.854, 0, 0)  
-     (  487141.471, 4763927.145, 0, 0)  
-     (  487220.344, 4763712.000, 0, 0)  
-
-Shape:19 (Polygon)  nVertices=9, nParts=1
-  Bounds:(  487854.719, 4758279.000, 0, 0)
-      to (  488518.085, 4758475.003, 0, 0)
-     (  487854.719, 4758404.000, 0, 0) Ring 
-     (  487882.875, 4758475.003, 0, 0)  
-     (  488183.362, 4758355.845, 0, 0)  
-     (  488341.273, 4758360.840, 0, 0)  
-     (  488515.420, 4758366.919, 0, 0)  
-     (  488518.085, 4758290.583, 0, 0)  
-     (  488343.812, 4758284.500, 0, 0)  
-     (  488169.938, 4758279.000, 0, 0)  
-     (  487854.719, 4758404.000, 0, 0)  
-
-Shape:20 (Polygon)  nVertices=5, nParts=1
-  Bounds:(  486300.557, 4758366.000, 0, 0)
-      to (  486613.245, 4758546.262, 0, 0)
-     (  486327.781, 4758366.000, 0, 0) Ring 
-     (  486300.557, 4758437.366, 0, 0)  
-     (  486586.021, 4758546.262, 0, 0)  
-     (  486613.245, 4758474.896, 0, 0)  
-     (  486327.781, 4758366.000, 0, 0)  
-
-Shape:21 (Polygon)  nVertices=5, nParts=1
-  Bounds:(  486709.618, 4758518.000, 0, 0)
-      to (  486949.999, 4758681.145, 0, 0)
-     (  486740.750, 4758518.000, 0, 0) Ring 
-     (  486709.618, 4758587.750, 0, 0)  
-     (  486918.867, 4758681.145, 0, 0)  
-     (  486949.999, 4758611.396, 0, 0)  
-     (  486740.750, 4758518.000, 0, 0)  
-
-Shape:22 (Polygon)  nVertices=5, nParts=1
-  Bounds:(  487325.398, 4757807.034, 0, 0)
-      to (  487555.844, 4758263.402, 0, 0)
-     (  487555.844, 4757833.500, 0, 0) Ring 
-     (  487484.193, 4757807.034, 0, 0)  
-     (  487325.398, 4758236.937, 0, 0)  
-     (  487397.049, 4758263.402, 0, 0)  
-     (  487555.844, 4757833.500, 0, 0)  
-
-Shape:23 (Polygon)  nVertices=5, nParts=1
-  Bounds:(  487255.256, 4758215.573, 0, 0)
-      to (  487387.406, 4758456.611, 0, 0)
-     (  487387.406, 4758235.000, 0, 0) Ring 
-     (  487313.536, 4758215.573, 0, 0)  
-     (  487255.256, 4758437.184, 0, 0)  
-     (  487329.126, 4758456.611, 0, 0)  
-     (  487387.406, 4758235.000, 0, 0)  
-
-Shape:24 (Polygon)  nVertices=5, nParts=1
-  Bounds:(  487248.714, 4758360.500, 0, 0)
-      to (  487559.687, 4758550.761, 0, 0)
-     (  487278.719, 4758360.500, 0, 0) Ring 
-     (  487248.714, 4758430.742, 0, 0)  
-     (  487529.682, 4758550.761, 0, 0)  
-     (  487559.687, 4758480.519, 0, 0)  
-     (  487278.719, 4758360.500, 0, 0)  
-
-Shape:25 (Polygon)  nVertices=5, nParts=1
-  Bounds:(  487573.994, 4758496.500, 0, 0)
-      to (  487815.502, 4758644.603, 0, 0)
-     (  487599.344, 4758496.500, 0, 0) Ring 
-     (  487573.994, 4758568.553, 0, 0)  
-     (  487790.152, 4758644.603, 0, 0)  
-     (  487815.502, 4758572.550, 0, 0)  
-     (  487599.344, 4758496.500, 0, 0)  
--------------------------------------------------------------------------
-Test 2: dump brklinz.shp
--------------------------------------------------------------------------
-Shapefile Type: ArcZ   # of Shapes: 122
-
-File Bounds: ( 6294338.260, 1978444.010,0,0)
-         to  ( 6296321.860, 1979694.450,0,0)
-
-Shape:0 (ArcZ)  nVertices=92, nParts=1
-  Bounds:( 6294700.210, 1978579.390, 818.64, 0)
-      to ( 6295395.930, 1979050.330, 917.86, 0)
-     ( 6295372.750, 1978755.830, 823.06, 0) Ring 
-     ( 6295366.170, 1978739.190, 826.58, 0)  
-     ( 6295360.400, 1978718.540, 829.2, 0)  
-     ( 6295352.620, 1978697.000, 832.22, 0)  
-     ( 6295345.960, 1978677.040, 834.64, 0)  
-     ( 6295339.690, 1978656.810, 838.51, 0)  
-     ( 6295335.040, 1978637.600, 840.94, 0)  
-     ( 6295331.080, 1978621.450, 844.48, 0)  
-     ( 6295324.350, 1978607.940, 847.04, 0)  
-     ( 6295313.370, 1978598.450, 850.38, 0)  
-     ( 6295296.780, 1978594.950, 853.27, 0)  
-     ( 6295273.800, 1978594.990, 858.06, 0)  
-     ( 6295251.750, 1978595.380, 861.53, 0)  
-     ( 6295232.340, 1978598.400, 864.22, 0)  
-     ( 6295206.740, 1978606.390, 866.38, 0)  
-     ( 6295180.610, 1978616.970, 868.15, 0)  
-     ( 6295156.350, 1978630.540, 870.65, 0)  
-     ( 6295132.270, 1978645.210, 872.02, 0)  
-     ( 6295111.070, 1978659.740, 875.17, 0)  
-     ( 6295090.030, 1978674.920, 878.84, 0)  
-     ( 6295071.060, 1978689.340, 882.06, 0)  
-     ( 6295051.900, 1978705.080, 886.98, 0)  
-     ( 6295036.460, 1978719.260, 889.66, 0)  
-     ( 6295023.620, 1978732.910, 893.53, 0)  
-     ( 6295010.450, 1978750.380, 895.24, 0)  
-     ( 6294999.910, 1978767.850, 897.47, 0)  
-     ( 6294989.810, 1978783.860, 900.29, 0)  
-     ( 6294975.040, 1978795.570, 902.45, 0)  
-     ( 6294956.300, 1978806.830, 906.32, 0)  
-     ( 6294937.260, 1978814.620, 909.21, 0)  
-     ( 6294919.240, 1978821.960, 912.88, 0)  
-     ( 6294897.040, 1978832.210, 915.04, 0)  
-     ( 6294878.070, 1978844.070, 916.49, 0)  
-     ( 6294865.010, 1978855.820, 917.34, 0)  
-     ( 6294859.560, 1978870.150, 916.81, 0)  
-     ( 6294861.520, 1978882.920, 916.62, 0)  
-     ( 6294874.640, 1978906.220, 917.86, 0)  
-     ( 6294886.980, 1978926.880, 917.6, 0)  
-     ( 6294889.630, 1978953.270, 917.54, 0)  
-     ( 6294888.520, 1978978.280, 916.88, 0)  
-     ( 6294880.350, 1978998.390, 915.96, 0)  
-     ( 6294866.540, 1979018.920, 915.57, 0)  
-     ( 6294843.270, 1979039.140, 915.57, 0)  
-     ( 6294812.250, 1979049.040, 915.96, 0)  
-     ( 6294777.640, 1979050.330, 916.75, 0)  
-     ( 6294752.060, 1979040.520, 916.68, 0)  
-     ( 6294730.990, 1979028.850, 916.62, 0)  
-     ( 6294716.690, 1979008.420, 916.62, 0)  
-     ( 6294706.050, 1978987.490, 916.95, 0)  
-     ( 6294700.210, 1978965.390, 916.95, 0)  
-     ( 6294700.520, 1978937.670, 917.01, 0)  
-     ( 6294712.060, 1978911.340, 916.95, 0)  
-     ( 6294724.820, 1978893.560, 916.62, 0)  
-     ( 6294741.630, 1978878.010, 916.36, 0)  
-     ( 6294759.360, 1978865.090, 916.36, 0)  
-     ( 6294777.650, 1978855.370, 916.22, 0)  
-     ( 6294807.570, 1978846.970, 916.36, 0)  
-     ( 6294837.640, 1978836.590, 916.55, 0)  
-     ( 6294858.650, 1978831.390, 916.29, 0)  
-     ( 6294878.860, 1978825.840, 915.37, 0)  
-     ( 6294897.630, 1978817.860, 913.67, 0)  
-     ( 6294914.550, 1978809.520, 910.78, 0)  
-     ( 6294932.380, 1978798.580, 907.17, 0)  
-     ( 6294947.360, 1978788.370, 904.42, 0)  
-     ( 6294960.500, 1978778.120, 901.86, 0)  
-     ( 6294974.780, 1978761.900, 898.78, 0)  
-     ( 6294988.510, 1978747.610, 895.7, 0)  
-     ( 6295005.230, 1978730.220, 892.81, 0)  
-     ( 6295023.560, 1978713.470, 889.34, 0)  
-     ( 6295043.310, 1978696.320, 885.07, 0)  
-     ( 6295061.830, 1978680.810, 881.47, 0)  
-     ( 6295080.970, 1978664.550, 877.79, 0)  
-     ( 6295104.570, 1978648.190, 874.58, 0)  
-     ( 6295126.310, 1978633.890, 872.09, 0)  
-     ( 6295149.840, 1978618.720, 869.6, 0)  
-     ( 6295173.840, 1978605.030, 867.37, 0)  
-     ( 6295198.110, 1978594.150, 866.12, 0)  
-     ( 6295222.830, 1978586.990, 865.2, 0)  
-     ( 6295243.030, 1978583.810, 863.5, 0)  
-     ( 6295268.110, 1978581.290, 860.35, 0)  
-     ( 6295291.530, 1978579.390, 856.48, 0)  
-     ( 6295313.200, 1978582.040, 852.42, 0)  
-     ( 6295329.170, 1978591.410, 848.81, 0)  
-     ( 6295339.780, 1978603.880, 845.07, 0)  
-     ( 6295345.640, 1978621.110, 842.12, 0)  
-     ( 6295351.070, 1978642.970, 838.32, 0)  
-     ( 6295357.250, 1978666.560, 834.77, 0)  
-     ( 6295367.290, 1978691.000, 831.89, 0)  
-     ( 6295376.030, 1978718.470, 828.09, 0)  
-     ( 6295383.930, 1978744.860, 824.35, 0)  
-     ( 6295389.990, 1978768.720, 821.33, 0)  
-     ( 6295395.930, 1978790.090, 818.64, 0)  
-
-Shape:1 (ArcZ)  nVertices=9, nParts=1
-  Bounds:( 6295218.470, 1978444.010, 864.55, 0)
-      to ( 6295330.760, 1978581.880, 882.45, 0)
-     ( 6295330.760, 1978444.010, 882.45, 0) Ring 
-     ( 6295306.050, 1978461.190, 880.94, 0)  
-     ( 6295280.210, 1978482.710, 878.52, 0)  
-     ( 6295258.180, 1978504.050, 875.89, 0)  
-     ( 6295239.910, 1978524.670, 871.89, 0)  
-     ( 6295225.650, 1978546.540, 869.53, 0)  
-     ( 6295218.470, 1978565.550, 866.97, 0)  
-     ( 6295223.960, 1978575.510, 865.27, 0)  
-     ( 6295230.580, 1978581.880, 864.55, 0)  
-
-Shape:2 (ArcZ)  nVertices=10, nParts=1
-  Bounds:( 6295199.220, 1978444.010, 866.32, 0)
-      to ( 6295309.040, 1978588.800, 882.08, 0)
-     ( 6295200.070, 1978588.800, 866.32, 0) Ring 
-     ( 6295199.220, 1978571.840, 867.24, 0)  
-     ( 6295200.770, 1978555.740, 868.88, 0)  
-     ( 6295207.890, 1978538.040, 869.86, 0)  
-     ( 6295223.020, 1978520.530, 870.84, 0)  
-     ( 6295239.450, 1978502.440, 874.06, 0)  
-     ( 6295258.050, 1978483.440, 876.48, 0)  
-     ( 6295268.990, 1978473.760, 879.17, 0)  
-     ( 6295285.710, 1978461.560, 880.55, 0)  
-     ( 6295309.040, 1978444.010, 882.08, 0)  
-
-Shape:3 (ArcZ)  nVertices=5, nParts=1
-  Bounds:( 6294340.890, 1979449.280, 1031.78, 0)
-      to ( 6294394.080, 1979522.030, 1039.78, 0)
-     ( 6294394.080, 1979449.280, 1039.78, 0) Ring 
-     ( 6294378.800, 1979469.230, 1038.73, 0)  
-     ( 6294364.980, 1979486.740, 1037.28, 0)  
-     ( 6294350.800, 1979504.980, 1035.12, 0)  
-     ( 6294340.890, 1979522.030, 1031.78, 0)  
-
-Shape:4 (ArcZ)  nVertices=6, nParts=1
-  Bounds:( 6294344.380, 1979583.450, 1008.04, 0)
-      to ( 6294354.670, 1979678.070, 1023.45, 0)
-     ( 6294344.380, 1979583.450, 1023.45, 0) Ring 
-     ( 6294348.050, 1979601.580, 1019.18, 0)  
-     ( 6294349.570, 1979621.200, 1016.5, 0)  
-     ( 6294351.990, 1979637.890, 1012.95, 0)  
-     ( 6294353.090, 1979657.140, 1011.51, 0)  
-     ( 6294354.670, 1979678.070, 1008.04, 0)  
-
-Shape:5 (ArcZ)  nVertices=3, nParts=1
-  Bounds:( 6294338.260, 1979628.600, 1008.63, 0)
-      to ( 6294341.080, 1979674.100, 1015.71, 0)
-     ( 6294341.080, 1979674.100, 1008.63, 0) Ring 
-     ( 6294339.460, 1979649.880, 1011.71, 0)  
-     ( 6294338.260, 1979628.600, 1015.71, 0)  
-
-Shape:6 (ArcZ)  nVertices=3, nParts=1
-  Bounds:( 6294350.160, 1979437.980, 1038.6, 0)
-      to ( 6294379.980, 1979476.720, 1040.1, 0)
-     ( 6294350.160, 1979476.720, 1038.6, 0) Ring 
-     ( 6294368.100, 1979454.860, 1040.1, 0)  
-     ( 6294379.980, 1979437.980, 1039.32, 0)  
-
-Shape:7 (ArcZ)  nVertices=39, nParts=1
-  Bounds:( 6295371.530, 1978758.160, 754.11, 0)
-      to ( 6295534.560, 1979677.750, 823.3, 0)
-     ( 6295534.560, 1979677.750, 779.95, 0) Ring 
-     ( 6295534.380, 1979648.150, 778.57, 0)  
-     ( 6295534.480, 1979605.990, 775.16, 0)  
-     ( 6295533.970, 1979577.580, 772.21, 0)  
-     ( 6295532.310, 1979547.260, 768.41, 0)  
-     ( 6295532.970, 1979521.290, 763.82, 0)  
-     ( 6295532.390, 1979496.890, 759.1, 0)  
-     ( 6295532.940, 1979474.010, 755.49, 0)  
-     ( 6295533.680, 1979452.180, 754.11, 0)  
-     ( 6295533.850, 1979434.640, 754.11, 0)  
-     ( 6295532.170, 1979409.180, 755.75, 0)  
-     ( 6295531.580, 1979384.450, 758.7, 0)  
-     ( 6295531.590, 1979356.090, 760.28, 0)  
-     ( 6295530.190, 1979325.690, 761.13, 0)  
-     ( 6295530.020, 1979291.090, 761.66, 0)  
-     ( 6295529.210, 1979259.420, 762.7, 0)  
-     ( 6295526.250, 1979221.610, 762.77, 0)  
-     ( 6295524.260, 1979187.500, 763.75, 0)  
-     ( 6295522.640, 1979155.350, 764.61, 0)  
-     ( 6295521.540, 1979123.230, 765.33, 0)  
-     ( 6295518.460, 1979096.000, 765.92, 0)  
-     ( 6295511.670, 1979081.110, 767.16, 0)  
-     ( 6295500.700, 1979064.060, 768.41, 0)  
-     ( 6295489.330, 1979049.600, 770.11, 0)  
-     ( 6295475.500, 1979033.100, 773.07, 0)  
-     ( 6295462.530, 1979018.190, 775.16, 0)  
-     ( 6295447.760, 1979001.400, 779.49, 0)  
-     ( 6295433.380, 1978984.530, 782.9, 0)  
-     ( 6295419.040, 1978965.820, 785.92, 0)  
-     ( 6295409.020, 1978946.820, 790.58, 0)  
-     ( 6295399.860, 1978923.910, 795.1, 0)  
-     ( 6295391.010, 1978894.410, 800.94, 0)  
-     ( 6295387.440, 1978875.550, 805.53, 0)  
-     ( 6295382.030, 1978849.030, 809.79, 0)  
-     ( 6295382.190, 1978828.930, 813.33, 0)  
-     ( 6295383.570, 1978809.290, 817.4, 0)  
-     ( 6295380.880, 1978789.860, 819.69, 0)  
-     ( 6295375.630, 1978771.810, 822.58, 0)  
-     ( 6295371.530, 1978758.160, 823.3, 0)  
-
-Shape:8 (ArcZ)  nVertices=35, nParts=1
-  Bounds:( 6295396.480, 1978794.780, 753.98, 0)
-      to ( 6295549.010, 1979670.060, 818.58, 0)
-     ( 6295396.620, 1978794.780, 818.58, 0) Ring 
-     ( 6295397.330, 1978816.670, 815.76, 0)  
-     ( 6295396.480, 1978836.150, 812.22, 0)  
-     ( 6295397.670, 1978857.110, 807.95, 0)  
-     ( 6295401.180, 1978874.720, 804.61, 0)  
-     ( 6295406.260, 1978897.320, 799.95, 0)  
-     ( 6295413.580, 1978919.930, 794.77, 0)  
-     ( 6295421.330, 1978938.190, 790.31, 0)  
-     ( 6295431.450, 1978956.590, 786.51, 0)  
-     ( 6295444.950, 1978974.360, 782.38, 0)  
-     ( 6295461.420, 1978993.620, 777.66, 0)  
-     ( 6295479.760, 1979013.510, 773.26, 0)  
-     ( 6295494.630, 1979032.330, 771.1, 0)  
-     ( 6295510.990, 1979052.120, 767.69, 0)  
-     ( 6295524.170, 1979071.090, 766.84, 0)  
-     ( 6295532.180, 1979091.890, 765.33, 0)  
-     ( 6295536.530, 1979120.830, 764.8, 0)  
-     ( 6295537.480, 1979150.200, 764.08, 0)  
-     ( 6295539.470, 1979189.490, 763.43, 0)  
-     ( 6295541.670, 1979230.490, 762.64, 0)  
-     ( 6295541.760, 1979271.330, 761.79, 0)  
-     ( 6295543.650, 1979306.300, 761.46, 0)  
-     ( 6295544.470, 1979335.540, 760.47, 0)  
-     ( 6295544.960, 1979363.490, 759.23, 0)  
-     ( 6295545.620, 1979392.020, 757.13, 0)  
-     ( 6295546.340, 1979419.430, 754.9, 0)  
-     ( 6295547.120, 1979439.940, 753.98, 0)  
-     ( 6295546.510, 1979459.150, 754.38, 0)  
-     ( 6295545.460, 1979482.710, 757.66, 0)  
-     ( 6295545.530, 1979507.330, 761.13, 0)  
-     ( 6295545.610, 1979532.470, 765.59, 0)  
-     ( 6295546.490, 1979565.520, 770.44, 0)  
-     ( 6295547.960, 1979597.100, 775.03, 0)  
-     ( 6295548.990, 1979628.040, 777.26, 0)  
-     ( 6295549.010, 1979670.060, 780.15, 0)  
-
-Shape:9 (ArcZ)  nVertices=45, nParts=1
-  Bounds:( 6295694.040, 1978444.010, 696.95, 0)
-      to ( 6296208.790, 1979687.080, 787.43, 0)
-     ( 6295698.400, 1979687.080, 787.43, 0) Ring 
-     ( 6295694.040, 1979670.950, 786.31, 0)  
-     ( 6295696.410, 1979650.280, 785.13, 0)  
-     ( 6295700.080, 1979634.530, 784.8, 0)  
-     ( 6295704.080, 1979620.010, 784.15, 0)  
-     ( 6295708.420, 1979601.930, 782.44, 0)  
-     ( 6295711.230, 1979584.790, 781.99, 0)  
-     ( 6295712.060, 1979564.780, 780.8, 0)  
-     ( 6295710.550, 1979537.480, 779.69, 0)  
-     ( 6295711.290, 1979508.020, 777.59, 0)  
-     ( 6295710.010, 1979477.420, 776.08, 0)  
-     ( 6295709.300, 1979442.530, 773.59, 0)  
-     ( 6295709.160, 1979413.640, 772.21, 0)  
-     ( 6295707.090, 1979372.570, 769.46, 0)  
-     ( 6295708.140, 1979336.210, 767.49, 0)  
-     ( 6295709.710, 1979297.130, 764.67, 0)  
-     ( 6295710.960, 1979272.310, 763.29, 0)  
-     ( 6295714.640, 1979241.200, 761.2, 0)  
-     ( 6295719.050, 1979211.560, 759.82, 0)  
-     ( 6295724.280, 1979179.840, 758.31, 0)  
-     ( 6295729.460, 1979152.460, 756.74, 0)  
-     ( 6295735.770, 1979126.530, 754.44, 0)  
-     ( 6295744.970, 1979095.400, 752.87, 0)  
-     ( 6295755.820, 1979063.140, 750.31, 0)  
-     ( 6295767.590, 1979028.330, 747.62, 0)  
-     ( 6295782.240, 1978993.450, 744.21, 0)  
-     ( 6295801.580, 1978952.420, 741.26, 0)  
-     ( 6295825.730, 1978905.370, 736.87, 0)  
-     ( 6295842.330, 1978877.810, 734.7, 0)  
-     ( 6295859.110, 1978851.150, 731.55, 0)  
-     ( 6295875.620, 1978827.010, 729.52, 0)  
-     ( 6295899.080, 1978794.830, 727.42, 0)  
-     ( 6295923.640, 1978763.720, 724.34, 0)  
-     ( 6295949.340, 1978734.180, 721.39, 0)  
-     ( 6295975.020, 1978704.320, 718.57, 0)  
-     ( 6296000.320, 1978677.440, 716.01, 0)  
-     ( 6296026.940, 1978648.120, 713.45, 0)  
-     ( 6296053.500, 1978617.500, 709.78, 0)  
-     ( 6296078.620, 1978589.630, 706.9, 0)  
-     ( 6296098.880, 1978566.880, 704.47, 0)  
-     ( 6296126.050, 1978537.930, 702.37, 0)  
-     ( 6296150.670, 1978507.990, 700.14, 0)  
-     ( 6296179.280, 1978476.280, 698.7, 0)  
-     ( 6296208.030, 1978444.880, 696.99, 0)  
-     ( 6296208.790, 1978444.010, 696.95, 0)  
-
-Shape:10 (ArcZ)  nVertices=10, nParts=1
-  Bounds:( 6296270.060, 1979014.970, 712.54, 0)
-      to ( 6296315.990, 1979152.310, 725.13, 0)
-     ( 6296306.110, 1979152.310, 725.13, 0) Ring 
-     ( 6296288.270, 1979139.690, 723.42, 0)  
-     ( 6296276.630, 1979122.410, 721.98, 0)  
-     ( 6296270.060, 1979101.470, 719.95, 0)  
-     ( 6296270.390, 1979084.580, 719.36, 0)  
-     ( 6296275.110, 1979068.970, 717.26, 0)  
-     ( 6296284.280, 1979052.820, 716.41, 0)  
-     ( 6296294.680, 1979040.410, 715.49, 0)  
-     ( 6296305.720, 1979027.370, 713.59, 0)  
-     ( 6296315.990, 1979014.970, 712.54, 0)  
-
-Shape:11 (ArcZ)  nVertices=18, nParts=1
-  Bounds:( 6296044.930, 1978451.120, 690.11, 0)
-      to ( 6296312.920, 1978679.190, 713.72, 0)
-     ( 6296312.920, 1978493.560, 690.11, 0) Ring 
-     ( 6296301.160, 1978479.050, 690.9, 0)  
-     ( 6296287.840, 1978464.950, 692.4, 0)  
-     ( 6296276.430, 1978454.890, 693.58, 0)  
-     ( 6296262.580, 1978451.120, 694.44, 0)  
-     ( 6296249.650, 1978452.500, 694.9, 0)  
-     ( 6296237.110, 1978461.670, 696.08, 0)  
-     ( 6296223.600, 1978477.650, 697.78, 0)  
-     ( 6296209.320, 1978493.930, 698.7, 0)  
-     ( 6296193.640, 1978511.140, 699.16, 0)  
-     ( 6296176.980, 1978529.710, 700.6, 0)  
-     ( 6296157.700, 1978550.970, 701.98, 0)  
-     ( 6296136.720, 1978574.950, 703.49, 0)  
-     ( 6296121.400, 1978591.550, 705.39, 0)  
-     ( 6296102.290, 1978613.590, 707.36, 0)  
-     ( 6296084.440, 1978634.580, 709.13, 0)  
-     ( 6296065.890, 1978654.760, 711.29, 0)  
-     ( 6296044.930, 1978679.190, 713.72, 0)  
-
-Shape:12 (ArcZ)  nVertices=71, nParts=1
-  Bounds:( 6295741.070, 1978679.190, 713.72, 0)
-      to ( 6296321.860, 1979680.370, 813.79, 0)
-     ( 6296044.930, 1978679.190, 713.72, 0) Ring 
-     ( 6296025.660, 1978700.780, 716.6, 0)  
-     ( 6296006.480, 1978721.510, 718.37, 0)  
-     ( 6295987.070, 1978742.720, 721, 0)  
-     ( 6295970.410, 1978761.420, 722.44, 0)  
-     ( 6295953.490, 1978780.070, 724.28, 0)  
-     ( 6295932.470, 1978805.820, 726.44, 0)  
-     ( 6295913.490, 1978830.550, 728.67, 0)  
-     ( 6295896.490, 1978855.310, 731.16, 0)  
-     ( 6295881.220, 1978878.070, 733.39, 0)  
-     ( 6295867.710, 1978899.180, 734.7, 0)  
-     ( 6295853.950, 1978923.310, 737, 0)  
-     ( 6295839.810, 1978950.030, 739.56, 0)  
-     ( 6295825.270, 1978979.390, 742.11, 0)  
-     ( 6295809.100, 1979015.600, 745.46, 0)  
-     ( 6295796.940, 1979045.170, 748.02, 0)  
-     ( 6295785.770, 1979078.900, 750.97, 0)  
-     ( 6295777.080, 1979104.550, 752.54, 0)  
-     ( 6295768.950, 1979133.460, 754.84, 0)  
-     ( 6295762.170, 1979163.090, 756.87, 0)  
-     ( 6295755.640, 1979194.930, 758.9, 0)  
-     ( 6295750.610, 1979225.390, 760.48, 0)  
-     ( 6295746.300, 1979259.750, 762.64, 0)  
-     ( 6295743.320, 1979291.750, 764.54, 0)  
-     ( 6295741.650, 1979321.060, 766.64, 0)  
-     ( 6295741.070, 1979353.790, 768.54, 0)  
-     ( 6295741.170, 1979384.450, 770.71, 0)  
-     ( 6295742.010, 1979419.210, 772.48, 0)  
-     ( 6295743.010, 1979454.740, 774.44, 0)  
-     ( 6295743.910, 1979493.310, 776.94, 0)  
-     ( 6295744.990, 1979530.290, 778.97, 0)  
-     ( 6295745.900, 1979569.120, 781.46, 0)  
-     ( 6295745.940, 1979603.910, 783.3, 0)  
-     ( 6295747.600, 1979636.660, 785.85, 0)  
-     ( 6295751.850, 1979653.260, 787.49, 0)  
-     ( 6295760.490, 1979665.820, 788.87, 0)  
-     ( 6295773.510, 1979673.830, 790.18, 0)  
-     ( 6295788.460, 1979676.100, 791.95, 0)  
-     ( 6295823.990, 1979674.960, 793.46, 0)  
-     ( 6295871.620, 1979674.070, 796.94, 0)  
-     ( 6295918.980, 1979673.120, 798.97, 0)  
-     ( 6295971.200, 1979672.130, 802.25, 0)  
-     ( 6296019.370, 1979671.600, 803.95, 0)  
-     ( 6296054.350, 1979670.030, 805.92, 0)  
-     ( 6296074.580, 1979662.250, 806.58, 0)  
-     ( 6296085.660, 1979647.700, 806.97, 0)  
-     ( 6296089.370, 1979635.300, 807.69, 0)  
-     ( 6296086.380, 1979620.160, 808.61, 0)  
-     ( 6296080.060, 1979601.690, 810.32, 0)  
-     ( 6296074.440, 1979583.990, 811.17, 0)  
-     ( 6296070.250, 1979568.770, 812.22, 0)  
-     ( 6296072.470, 1979552.830, 812.94, 0)  
-     ( 6296083.220, 1979536.790, 813.46, 0)  
-     ( 6296102.650, 1979531.410, 813.79, 0)  
-     ( 6296121.290, 1979536.450, 813.73, 0)  
-     ( 6296133.190, 1979548.520, 813.2, 0)  
-     ( 6296138.010, 1979563.380, 812.61, 0)  
-     ( 6296135.460, 1979580.580, 811.37, 0)  
-     ( 6296129.950, 1979598.850, 810.18, 0)  
-     ( 6296124.490, 1979618.170, 809.46, 0)  
-     ( 6296122.100, 1979635.880, 808.35, 0)  
-     ( 6296126.820, 1979651.410, 807.36, 0)  
-     ( 6296136.390, 1979661.360, 806.51, 0)  
-     ( 6296149.630, 1979666.080, 806.05, 0)  
-     ( 6296163.380, 1979667.880, 805.73, 0)  
-     ( 6296186.080, 1979667.460, 805.14, 0)  
-     ( 6296215.190, 1979666.580, 805, 0)  
-     ( 6296247.690, 1979667.830, 803.5, 0)  
-     ( 6296273.580, 1979670.850, 802.32, 0)  
-     ( 6296295.410, 1979674.090, 800.68, 0)  
-     ( 6296321.860, 1979680.370, 799.23, 0)  
-
-Shape:13 (ArcZ)  nVertices=6, nParts=1
-  Bounds:( 6295372.650, 1979608.700, 773.19, 0)
-      to ( 6295470.330, 1979679.550, 780.15, 0)
-     ( 6295372.650, 1979679.550, 780.15, 0) Ring 
-     ( 6295387.140, 1979664.770, 777.85, 0)  
-     ( 6295406.650, 1979645.400, 776.21, 0)  
-     ( 6295422.760, 1979631.580, 775.29, 0)  
-     ( 6295442.800, 1979612.190, 773.65, 0)  
-     ( 6295470.330, 1979608.700, 773.19, 0)  
-
-Shape:14 (ArcZ)  nVertices=7, nParts=1
-  Bounds:( 6295415.710, 1979491.540, 772.08, 0)
-      to ( 6295453.550, 1979590.190, 773.85, 0)
-     ( 6295453.550, 1979590.110, 772.09, 0) Ring 
-     ( 6295453.110, 1979590.190, 772.08, 0)  
-     ( 6295439.430, 1979579.260, 772.74, 0)  
-     ( 6295430.870, 1979552.770, 772.93, 0)  
-     ( 6295420.940, 1979527.860, 773.19, 0)  
-     ( 6295415.710, 1979510.070, 773.79, 0)  
-     ( 6295421.080, 1979491.540, 773.85, 0)  
-
-Shape:15 (ArcZ)  nVertices=9, nParts=1
-  Bounds:( 6295351.240, 1979521.410, 773, 0)
-      to ( 6295430.330, 1979692.520, 782.11, 0)
-     ( 6295395.270, 1979521.410, 774.51, 0) Ring 
-     ( 6295415.880, 1979549.790, 773.85, 0)  
-     ( 6295426.030, 1979579.220, 773, 0)  
-     ( 6295430.330, 1979604.610, 773.06, 0)  
-     ( 6295418.610, 1979622.140, 774.31, 0)  
-     ( 6295398.970, 1979639.020, 776.34, 0)  
-     ( 6295382.220, 1979655.690, 778.31, 0)  
-     ( 6295365.040, 1979674.420, 780.15, 0)  
-     ( 6295351.240, 1979692.520, 782.11, 0)  
-
-Shape:16 (ArcZ)  nVertices=28, nParts=1
-  Bounds:( 6294520.270, 1979256.990, 932.36, 0)
-      to ( 6294743.290, 1979675.030, 1016.69, 0)
-     ( 6294531.940, 1979675.030, 932.36, 0) Ring 
-     ( 6294523.870, 1979650.550, 933.54, 0)  
-     ( 6294520.270, 1979620.920, 936.75, 0)  
-     ( 6294525.030, 1979592.840, 940.29, 0)  
-     ( 6294533.880, 1979567.770, 942.98, 0)  
-     ( 6294546.040, 1979543.320, 949.28, 0)  
-     ( 6294564.140, 1979524.750, 951.64, 0)  
-     ( 6294585.590, 1979515.130, 956.36, 0)  
-     ( 6294611.810, 1979503.890, 959.38, 0)  
-     ( 6294635.130, 1979494.900, 966.2, 0)  
-     ( 6294662.590, 1979487.470, 969.41, 0)  
-     ( 6294687.540, 1979482.070, 971.77, 0)  
-     ( 6294710.180, 1979470.160, 976.75, 0)  
-     ( 6294732.150, 1979450.140, 978.53, 0)  
-     ( 6294743.290, 1979431.460, 981.94, 0)  
-     ( 6294738.700, 1979402.930, 984.69, 0)  
-     ( 6294731.290, 1979380.980, 986.79, 0)  
-     ( 6294717.670, 1979358.290, 988.3, 0)  
-     ( 6294706.340, 1979342.050, 991.38, 0)  
-     ( 6294697.140, 1979315.920, 996.76, 0)  
-     ( 6294696.360, 1979292.580, 1000.17, 0)  
-     ( 6294691.930, 1979275.010, 1002.4, 0)  
-     ( 6294681.970, 1979259.950, 1004.76, 0)  
-     ( 6294665.150, 1979256.990, 1006.53, 0)  
-     ( 6294638.580, 1979258.930, 1010.33, 0)  
-     ( 6294617.350, 1979259.730, 1012.76, 0)  
-     ( 6294592.000, 1979262.260, 1015.32, 0)  
-     ( 6294572.550, 1979262.000, 1016.69, 0)  
-
-Shape:17 (ArcZ)  nVertices=43, nParts=1
-  Bounds:( 6294466.100, 1979253.610, 930.98, 0)
-      to ( 6294720.520, 1979678.410, 1018.46, 0)
-     ( 6294572.550, 1979262.000, 1016.69, 0) Ring 
-     ( 6294549.640, 1979260.720, 1017.48, 0)  
-     ( 6294522.440, 1979260.520, 1017.48, 0)  
-     ( 6294472.060, 1979253.610, 1016.63, 0)  
-     ( 6294469.530, 1979302.330, 1017.15, 0)  
-     ( 6294466.100, 1979341.240, 1016.63, 0)  
-     ( 6294469.480, 1979374.290, 1016.5, 0)  
-     ( 6294506.640, 1979382.010, 1016.96, 0)  
-     ( 6294538.320, 1979377.390, 1016.89, 0)  
-     ( 6294581.400, 1979377.510, 1017.74, 0)  
-     ( 6294603.050, 1979366.770, 1017.74, 0)  
-     ( 6294597.820, 1979338.470, 1018, 0)  
-     ( 6294587.060, 1979307.490, 1018.46, 0)  
-     ( 6294579.280, 1979283.460, 1017.87, 0)  
-     ( 6294593.320, 1979278.020, 1016.36, 0)  
-     ( 6294613.160, 1979275.640, 1013.15, 0)  
-     ( 6294634.390, 1979274.630, 1009.54, 0)  
-     ( 6294650.590, 1979272.960, 1006.4, 0)  
-     ( 6294666.970, 1979274.830, 1003.77, 0)  
-     ( 6294675.710, 1979289.290, 1001.81, 0)  
-     ( 6294681.310, 1979309.230, 998.13, 0)  
-     ( 6294686.190, 1979327.900, 995.64, 0)  
-     ( 6294692.280, 1979346.960, 991.64, 0)  
-     ( 6294699.730, 1979367.200, 989.08, 0)  
-     ( 6294709.530, 1979384.310, 985.74, 0)  
-     ( 6294716.160, 1979401.370, 983.25, 0)  
-     ( 6294720.520, 1979414.810, 980.1, 0)  
-     ( 6294718.980, 1979441.480, 978, 0)  
--------------------------------------------------------------------------
-Test 3: dump polygon.shp
--------------------------------------------------------------------------
-Shapefile Type: Polygon   # of Shapes: 474
-
-File Bounds: (  471127.188, 4751545.000,0,0)
-         to  (  489292.312, 4765610.500,0,0)
-
-Shape:0 (Polygon)  nVertices=20, nParts=1
-  Bounds:(  479647.000, 4764856.500, 0, 0)
-      to (  480389.688, 4765610.500, 0, 0)
-     (  479819.844, 4765180.500, 0, 0) Ring 
-     (  479690.188, 4765259.500, 0, 0)  
-     (  479647.000, 4765369.500, 0, 0)  
-     (  479730.375, 4765400.500, 0, 0)  
-     (  480039.031, 4765539.500, 0, 0)  
-     (  480035.344, 4765558.500, 0, 0)  
-     (  480159.781, 4765610.500, 0, 0)  
-     (  480202.281, 4765482.000, 0, 0)  
-     (  480365.000, 4765015.500, 0, 0)  
-     (  480389.688, 4764950.000, 0, 0)  
-     (  480133.969, 4764856.500, 0, 0)  
-     (  480080.281, 4764979.500, 0, 0)  
-     (  480082.969, 4765049.500, 0, 0)  
-     (  480088.812, 4765139.500, 0, 0)  
-     (  480059.906, 4765239.500, 0, 0)  
-     (  480019.719, 4765319.500, 0, 0)  
-     (  479980.219, 4765409.500, 0, 0)  
-     (  479909.875, 4765370.000, 0, 0)  
-     (  479859.875, 4765270.000, 0, 0)  
-     (  479819.844, 4765180.500, 0, 0)  
-
-Shape:1 (Polygon)  nVertices=20, nParts=1
-  Bounds:(  479014.938, 4764879.000, 0, 0)
-      to (  480039.031, 4765558.500, 0, 0)
-     (  480035.344, 4765558.500, 0, 0) Ring 
-     (  480039.031, 4765539.500, 0, 0)  
-     (  479730.375, 4765400.500, 0, 0)  
-     (  479647.000, 4765369.500, 0, 0)  
-     (  479690.188, 4765259.500, 0, 0)  
-     (  479819.844, 4765180.500, 0, 0)  
-     (  479779.844, 4765109.500, 0, 0)  
-     (  479681.781, 4764940.000, 0, 0)  
-     (  479468.000, 4764942.500, 0, 0)  
-     (  479411.438, 4764940.500, 0, 0)  
-     (  479353.000, 4764939.500, 0, 0)  
-     (  479208.656, 4764882.500, 0, 0)  
-     (  479196.812, 4764879.000, 0, 0)  
-     (  479123.281, 4765015.000, 0, 0)  
-     (  479046.531, 4765117.000, 0, 0)  
-     (  479029.719, 4765110.500, 0, 0)  
-     (  479014.938, 4765147.500, 0, 0)  
-     (  479149.938, 4765200.500, 0, 0)  
-     (  479639.625, 4765399.500, 0, 0)  
-     (  480035.344, 4765558.500, 0, 0)  
-
-Shape:2 (Polygon)  nVertices=54, nParts=1
-  Bounds:(  480882.688, 4763472.500, 0, 0)
-      to (  484519.969, 4765410.000, 0, 0)
-     (  481575.000, 4764999.500, 0, 0) Ring 
-     (  481542.312, 4765097.500, 0, 0)  
-     (  481443.688, 4765387.500, 0, 0)  
-     (  481499.656, 4765410.000, 0, 0)  
-     (  481631.000, 4765031.000, 0, 0)  
-     (  481693.312, 4764853.000, 0, 0)  
-     (  481759.281, 4764889.500, 0, 0)  
-     (  481860.031, 4764920.000, 0, 0)  
-     (  482002.969, 4764910.000, 0, 0)  
-     (  482180.094, 4764909.500, 0, 0)  
-     (  482359.812, 4764960.000, 0, 0)  
-     (  482510.500, 4765065.000, 0, 0)  
-     (  482619.906, 4765080.500, 0, 0)  
-     (  482809.500, 4765090.000, 0, 0)  
-     (  483189.812, 4765084.500, 0, 0)  
-     (  483330.312, 4765105.500, 0, 0)  
-     (  483591.094, 4765260.000, 0, 0)  
-     (  483700.500, 4765280.000, 0, 0)  
-     (  483799.938, 4765270.000, 0, 0)  
-     (  484039.844, 4765280.500, 0, 0)  
-     (  484115.688, 4765300.000, 0, 0)  
-     (  484120.625, 4765280.000, 0, 0)  
-     (  484131.125, 4765260.000, 0, 0)  
-     (  484167.844, 4765271.000, 0, 0)  
-     (  484277.875, 4765015.500, 0, 0)  
-     (  484455.062, 4764500.000, 0, 0)  
-     (  484519.969, 4764345.000, 0, 0)  
-     (  484482.031, 4764332.000, 0, 0)  
-     (  483904.719, 4764113.500, 0, 0)  
-     (  483334.844, 4763905.000, 0, 0)  
-     (  482941.031, 4763760.500, 0, 0)  
-     (  482590.719, 4763624.500, 0, 0)  
-     (  482185.656, 4763472.500, 0, 0)  
-     (  482009.844, 4763980.500, 0, 0)  
-     (  481960.438, 4764099.500, 0, 0)  
-     (  481767.500, 4764014.500, 0, 0)  
-     (  480955.500, 4763700.000, 0, 0)  
-     (  480882.688, 4763670.000, 0, 0)  
-     (  481039.938, 4763889.500, 0, 0)  
-     (  481130.312, 4763979.500, 0, 0)  
-     (  481143.438, 4764010.500, 0, 0)  
-     (  481199.844, 4764180.000, 0, 0)  
-     (  481141.625, 4764480.500, 0, 0)  
-     (  481140.469, 4764510.500, 0, 0)  
-     (  481159.938, 4764580.000, 0, 0)  
-     (  481185.500, 4764607.000, 0, 0)  
-     (  481199.219, 4764623.500, 0, 0)  
-     (  481209.812, 4764633.500, 0, 0)  
-     (  481235.312, 4764650.000, 0, 0)  
-     (  481635.969, 4764795.500, 0, 0)  
-     (  481645.312, 4764797.500, 0, 0)  
-     (  481629.844, 4764829.500, 0, 0)  
-     (  481602.125, 4764915.500, 0, 0)  
-     (  481575.000, 4764999.500, 0, 0)  
-
-Shape:3 (Polygon)  nVertices=29, nParts=1
-  Bounds:(  479117.812, 4764505.000, 0, 0)
-      to (  480088.812, 4765409.500, 0, 0)
-     (  479819.844, 4765180.500, 0, 0) Ring 
-     (  479859.875, 4765270.000, 0, 0)  
-     (  479909.875, 4765370.000, 0, 0)  
-     (  479980.219, 4765409.500, 0, 0)  
-     (  480019.719, 4765319.500, 0, 0)  
-     (  480059.906, 4765239.500, 0, 0)  
-     (  480088.812, 4765139.500, 0, 0)  
-     (  480082.969, 4765049.500, 0, 0)  
-     (  480000.281, 4765043.000, 0, 0)  
-     (  479934.969, 4765020.000, 0, 0)  
-     (  479895.125, 4765000.000, 0, 0)  
-     (  479734.375, 4764865.000, 0, 0)  
-     (  479680.281, 4764852.000, 0, 0)  
-     (  479644.781, 4764827.500, 0, 0)  
-     (  479637.875, 4764803.000, 0, 0)  
-     (  479617.219, 4764760.000, 0, 0)  
-     (  479587.281, 4764718.000, 0, 0)  
-     (  479548.031, 4764693.500, 0, 0)  
-     (  479504.906, 4764609.500, 0, 0)  
-     (  479239.812, 4764505.000, 0, 0)  
-     (  479117.812, 4764847.000, 0, 0)  
-     (  479196.812, 4764879.000, 0, 0)  
-     (  479208.656, 4764882.500, 0, 0)  
-     (  479353.000, 4764939.500, 0, 0)  
-     (  479411.438, 4764940.500, 0, 0)  
-     (  479468.000, 4764942.500, 0, 0)  
-     (  479681.781, 4764940.000, 0, 0)  
-     (  479779.844, 4765109.500, 0, 0)  
-     (  479819.844, 4765180.500, 0, 0)  
-
-Shape:4 (Polygon)  nVertices=22, nParts=1
-  Bounds:(  480537.156, 4764738.000, 0, 0)
-      to (  481575.000, 4765387.500, 0, 0)
-     (  480537.156, 4765014.000, 0, 0) Ring 
-     (  481090.281, 4765242.000, 0, 0)  
-     (  481443.688, 4765387.500, 0, 0)  
-     (  481542.312, 4765097.500, 0, 0)  
-     (  481575.000, 4764999.500, 0, 0)  
-     (  481538.906, 4764982.500, 0, 0)  
-     (  481509.656, 4764967.000, 0, 0)  
-     (  481457.375, 4764937.000, 0, 0)  
-     (  481465.906, 4764872.500, 0, 0)  
-     (  481291.094, 4764810.000, 0, 0)  
-     (  481281.312, 4764876.500, 0, 0)  
-     (  481136.844, 4764994.500, 0, 0)  
-     (  481088.188, 4764936.000, 0, 0)  
-     (  480984.250, 4764875.000, 0, 0)  
-     (  480930.719, 4764852.000, 0, 0)  
-     (  480922.031, 4764850.500, 0, 0)  
-     (  480824.969, 4764820.000, 0, 0)  
-     (  480761.469, 4764778.000, 0, 0)  
-     (  480701.062, 4764738.000, 0, 0)  
-     (  480605.000, 4764835.000, 0, 0)  
-     (  480567.969, 4764918.000, 0, 0)  
-     (  480537.156, 4765014.000, 0, 0)  
-
-Shape:5 (Polygon)  nVertices=60, nParts=1
-  Bounds:(  484482.031, 4760649.500, 0, 0)
-      to (  488408.281, 4765179.000, 0, 0)
-     (  484482.031, 4764332.000, 0, 0) Ring 
-     (  484519.969, 4764345.000, 0, 0)  
-     (  484817.938, 4764465.500, 0, 0)  
-     (  485615.406, 4764770.000, 0, 0)  
-     (  486269.688, 4765010.000, 0, 0)  
-     (  486320.062, 4765024.000, 0, 0)  
-     (  486340.594, 4765040.000, 0, 0)  
-     (  486369.844, 4765050.000, 0, 0)  
-     (  486719.969, 4765170.000, 0, 0)  
-     (  486738.625, 4765179.000, 0, 0)  
-     (  486987.781, 4764497.500, 0, 0)  
-     (  487019.875, 4764384.500, 0, 0)  
-     (  487077.375, 4764226.500, 0, 0)  
-     (  487120.031, 4764100.000, 0, 0)  
-     (  487160.250, 4763998.000, 0, 0)  
-     (  487186.812, 4763922.500, 0, 0)  
-     (  487408.250, 4763315.500, 0, 0)  
-     (  487608.062, 4762780.000, 0, 0)  
-     (  487659.406, 4762650.000, 0, 0)  
-     (  487719.406, 4762480.000, 0, 0)  
-     (  487741.062, 4762419.500, 0, 0)  
-     (  487747.875, 4762395.500, 0, 0)  
-     (  487880.875, 4762032.000, 0, 0)  
-     (  487899.438, 4761975.500, 0, 0)  
-     (  488082.000, 4761480.000, 0, 0)  
-     (  488408.281, 4760649.500, 0, 0)  
-     (  488050.375, 4760824.500, 0, 0)  
-     (  487690.906, 4760802.000, 0, 0)  
-     (  487640.062, 4760879.500, 0, 0)  
-     (  487594.938, 4761023.000, 0, 0)  
-     (  487341.375, 4761776.500, 0, 0)  
-     (  487037.125, 4761672.500, 0, 0)  
-     (  487005.375, 4761662.500, 0, 0)  
-     (  486788.219, 4761579.500, 0, 0)  
-     (  486822.250, 4761492.000, 0, 0)  
-     (  486838.312, 4761437.500, 0, 0)  
-     (  486841.312, 4761381.000, 0, 0)  
-     (  486850.562, 4761340.000, 0, 0)  
-     (  486810.750, 4761335.500, 0, 0)  
-     (  486775.438, 4761400.000, 0, 0)  
-     (  486710.094, 4761368.000, 0, 0)  
-     (  486606.188, 4761330.000, 0, 0)  
-     (  486548.656, 4761488.000, 0, 0)  
-     (  486380.656, 4761428.500, 0, 0)  
-     (  486152.906, 4761348.000, 0, 0)  
-     (  485900.250, 4761250.500, 0, 0)  
-     (  485666.875, 4761156.500, 0, 0)  
-     (  485585.875, 4761374.500, 0, 0)  
-     (  485564.875, 4761444.500, 0, 0)  
-     (  485496.219, 4761614.500, 0, 0)  
-     (  485438.688, 4761760.500, 0, 0)  
-     (  485264.969, 4762222.500, 0, 0)  
-     (  485192.688, 4762439.000, 0, 0)  
-     (  485175.406, 4762493.500, 0, 0)  
-     (  484947.344, 4763100.500, 0, 0)  
-     (  484888.000, 4763260.500, 0, 0)  
-     (  484785.469, 4763560.500, 0, 0)  
-     (  484760.219, 4763659.500, 0, 0)  
-     (  484696.969, 4763734.000, 0, 0)  
-     (  484482.031, 4764332.000, 0, 0)  
-
-Shape:6 (Polygon)  nVertices=26, nParts=1
-  Bounds:(  478315.531, 4764174.000, 0, 0)
-      to (  479305.875, 4765147.500, 0, 0)
-     (  479014.938, 4765147.500, 0, 0) Ring 
-     (  479029.719, 4765110.500, 0, 0)  
-     (  479117.812, 4764847.000, 0, 0)  
-     (  479239.812, 4764505.000, 0, 0)  
-     (  479305.875, 4764361.000, 0, 0)  
-     (  479256.031, 4764314.500, 0, 0)  
-     (  479220.906, 4764212.500, 0, 0)  
-     (  479114.500, 4764174.000, 0, 0)  
-     (  479018.281, 4764418.500, 0, 0)  
-     (  478896.938, 4764371.000, 0, 0)  
-     (  478748.812, 4764308.500, 0, 0)  
-     (  478503.031, 4764218.000, 0, 0)  
-     (  478461.750, 4764337.500, 0, 0)  
-     (  478443.938, 4764400.500, 0, 0)  
-     (  478447.812, 4764454.000, 0, 0)  
-     (  478448.688, 4764531.500, 0, 0)  
-     (  478502.188, 4764541.500, 0, 0)  
-     (  478683.000, 4764730.500, 0, 0)  
-     (  478621.031, 4764788.500, 0, 0)  
-     (  478597.344, 4764766.500, 0, 0)  
-     (  478532.500, 4764695.500, 0, 0)  
-     (  478460.125, 4764615.000, 0, 0)  
-     (  478408.062, 4764654.000, 0, 0)  
-     (  478315.531, 4764876.000, 0, 0)  
-     (  478889.250, 4765100.000, 0, 0)  
-     (  479014.938, 4765147.500, 0, 0)  
-
-Shape:7 (Polygon)  nVertices=6, nParts=1
-  Bounds:(  479029.719, 4764847.000, 0, 0)
-      to (  479196.812, 4765117.000, 0, 0)
-     (  479029.719, 4765110.500, 0, 0) Ring 
-     (  479046.531, 4765117.000, 0, 0)  
-     (  479123.281, 4765015.000, 0, 0)  
-     (  479196.812, 4764879.000, 0, 0)  
-     (  479117.812, 4764847.000, 0, 0)  
-     (  479029.719, 4765110.500, 0, 0)  
-
-Shape:8 (Polygon)  nVertices=20, nParts=1
-  Bounds:(  479504.906, 4764609.500, 0, 0)
-      to (  480133.969, 4765049.500, 0, 0)
-     (  480082.969, 4765049.500, 0, 0) Ring 
-     (  480080.281, 4764979.500, 0, 0)  
-     (  480133.969, 4764856.500, 0, 0)  
-     (  479968.469, 4764788.000, 0, 0)  
-     (  479750.688, 4764702.000, 0, 0)  
-     (  479735.906, 4764752.000, 0, 0)  
-     (  479640.094, 4764721.000, 0, 0)  
-     (  479658.594, 4764670.000, 0, 0)  
-     (  479504.906, 4764609.500, 0, 0)  
-     (  479548.031, 4764693.500, 0, 0)  
-     (  479587.281, 4764718.000, 0, 0)  
-     (  479617.219, 4764760.000, 0, 0)  
-     (  479637.875, 4764803.000, 0, 0)  
-     (  479644.781, 4764827.500, 0, 0)  
-     (  479680.281, 4764852.000, 0, 0)  
-     (  479734.375, 4764865.000, 0, 0)  
-     (  479895.125, 4765000.000, 0, 0)  
-     (  479934.969, 4765020.000, 0, 0)  
-     (  480000.281, 4765043.000, 0, 0)  
-     (  480082.969, 4765049.500, 0, 0)  
-
-Shape:9 (Polygon)  nVertices=31, nParts=1
-  Bounds:(  479968.469, 4764183.000, 0, 0)
-      to (  480731.656, 4765014.000, 0, 0)
-     (  480389.688, 4764950.000, 0, 0) Ring 
-     (  480537.156, 4765014.000, 0, 0)  
-     (  480567.969, 4764918.000, 0, 0)  
-     (  480605.000, 4764835.000, 0, 0)  
-     (  480701.062, 4764738.000, 0, 0)  
-     (  480710.250, 4764690.500, 0, 0)  
-     (  480588.594, 4764740.500, 0, 0)  
-     (  480540.719, 4764741.000, 0, 0)  
-     (  480515.125, 4764695.000, 0, 0)  
-     (  480731.656, 4764561.500, 0, 0)  
-     (  480692.188, 4764453.500, 0, 0)  
-     (  480677.844, 4764439.000, 0, 0)  
-     (  480655.344, 4764397.500, 0, 0)  
-     (  480584.375, 4764353.000, 0, 0)  
-     (  480500.406, 4764326.500, 0, 0)  
-     (  480358.531, 4764277.000, 0, 0)  
-     (  480192.312, 4764183.000, 0, 0)  
-     (  480157.125, 4764266.500, 0, 0)  
-     (  480234.312, 4764304.000, 0, 0)  
-     (  480289.125, 4764348.500, 0, 0)  
-     (  480316.000, 4764395.000, 0, 0)  
-     (  480343.562, 4764477.000, 0, 0)  
-     (  480343.719, 4764532.500, 0, 0)  
-     (  480258.031, 4764767.000, 0, 0)  
-     (  480177.156, 4764742.000, 0, 0)  
-     (  480093.750, 4764703.000, 0, 0)  
-     (  480011.000, 4764674.500, 0, 0)  
-     (  479985.062, 4764732.000, 0, 0)  
-     (  479968.469, 4764788.000, 0, 0)  
-     (  480133.969, 4764856.500, 0, 0)  
-     (  480389.688, 4764950.000, 0, 0)  
-
-Shape:10 (Polygon)  nVertices=61, nParts=1
-  Bounds:(  479492.688, 4762880.500, 0, 0)
-      to (  481645.312, 4764999.500, 0, 0)
-     (  480701.062, 4764738.000, 0, 0) Ring 
-     (  480761.469, 4764778.000, 0, 0)  
-     (  480824.969, 4764820.000, 0, 0)  
-     (  480922.031, 4764850.500, 0, 0)  
-     (  480930.719, 4764852.000, 0, 0)  
-     (  480984.250, 4764875.000, 0, 0)  
-     (  481088.188, 4764936.000, 0, 0)  
-     (  481136.844, 4764994.500, 0, 0)  
-     (  481281.312, 4764876.500, 0, 0)  
-     (  481291.094, 4764810.000, 0, 0)  
-     (  481465.906, 4764872.500, 0, 0)  
-     (  481457.375, 4764937.000, 0, 0)  
-     (  481509.656, 4764967.000, 0, 0)  
-     (  481538.906, 4764982.500, 0, 0)  
-     (  481575.000, 4764999.500, 0, 0)  
-     (  481602.125, 4764915.500, 0, 0)  
-     (  481629.844, 4764829.500, 0, 0)  
-     (  481645.312, 4764797.500, 0, 0)  
-     (  481635.969, 4764795.500, 0, 0)  
-     (  481235.312, 4764650.000, 0, 0)  
-     (  481209.812, 4764633.500, 0, 0)  
-     (  481199.219, 4764623.500, 0, 0)  
-     (  481185.500, 4764607.000, 0, 0)  
-     (  481159.938, 4764580.000, 0, 0)  
-     (  481140.469, 4764510.500, 0, 0)  
-     (  481141.625, 4764480.500, 0, 0)  
-     (  481199.844, 4764180.000, 0, 0)  
-     (  481143.438, 4764010.500, 0, 0)  
-     (  481130.312, 4763979.500, 0, 0)  
-     (  481039.938, 4763889.500, 0, 0)  
-     (  480882.688, 4763670.000, 0, 0)  
-     (  480826.062, 4763650.500, 0, 0)  
-     (  480745.188, 4763628.500, 0, 0)  
-     (  480654.438, 4763627.500, 0, 0)  
-     (  480599.812, 4763660.000, 0, 0)  
-     (  480281.938, 4763576.500, 0, 0)  
-     (  480221.500, 4763533.500, 0, 0)  
-     (  480199.688, 4763509.000, 0, 0)  
-     (  480195.094, 4763430.000, 0, 0)  
-     (  480273.688, 4763305.500, 0, 0)  
-     (  480309.688, 4763063.500, 0, 0)  
-     (  480201.844, 4762962.500, 0, 0)  
-     (  479855.312, 4762880.500, 0, 0)  
-     (  479848.531, 4762897.000, 0, 0)  
-     (  479728.875, 4763217.500, 0, 0)  
-     (  479492.688, 4763850.000, 0, 0)  
-     (  479550.062, 4763919.500, 0, 0)  
-     (  480120.219, 4764188.500, 0, 0)  
-     (  480192.312, 4764183.000, 0, 0)  
-     (  480358.531, 4764277.000, 0, 0)  
-     (  480500.406, 4764326.500, 0, 0)  
-     (  480584.375, 4764353.000, 0, 0)  
-     (  480655.344, 4764397.500, 0, 0)  
-     (  480677.844, 4764439.000, 0, 0)  
-     (  480692.188, 4764453.500, 0, 0)  
-     (  480731.656, 4764561.500, 0, 0)  
-     (  480515.125, 4764695.000, 0, 0)  
-     (  480540.719, 4764741.000, 0, 0)  
-     (  480588.594, 4764740.500, 0, 0)  
-     (  480710.250, 4764690.500, 0, 0)  
-     (  480701.062, 4764738.000, 0, 0)  
-
-Shape:11 (Polygon)  nVertices=21, nParts=1
-  Bounds:(  476732.906, 4763624.500, 0, 0)
-      to (  478408.062, 4764876.000, 0, 0)
-     (  478315.531, 4764876.000, 0, 0) Ring 
-     (  478408.062, 4764654.000, 0, 0)  
-     (  478325.250, 4764606.500, 0, 0)  
-     (  478220.094, 4764574.500, 0, 0)  
-     (  478140.344, 4764511.000, 0, 0)  
-     (  478065.062, 4764487.500, 0, 0)  
-     (  478080.938, 4764401.500, 0, 0)  
-     (  478110.500, 4764308.500, 0, 0)  
-     (  478149.969, 4764212.500, 0, 0)  
-     (  478180.219, 4764150.000, 0, 0)  
-     (  478192.500, 4764099.500, 0, 0)  
-     (  477893.125, 4763984.500, 0, 0)  
-     (  477417.031, 4763800.500, 0, 0)  
-     (  477005.594, 4763640.000, 0, 0)  
-     (  476958.312, 4763624.500, 0, 0)  
-     (  476947.250, 4763664.500, 0, 0)  
-     (  476732.906, 4764243.000, 0, 0)  
-     (  477322.375, 4764502.000, 0, 0)  
-     (  477599.906, 4764600.000, 0, 0)  
-     (  477949.656, 4764745.000, 0, 0)  
-     (  478315.531, 4764876.000, 0, 0)  
-
-Shape:12 (Polygon)  nVertices=22, nParts=1
-  Bounds:(  478065.062, 4764099.500, 0, 0)
-      to (  478683.000, 4764788.500, 0, 0)
-     (  478408.062, 4764654.000, 0, 0) Ring 
-     (  478460.125, 4764615.000, 0, 0)  
-     (  478532.500, 4764695.500, 0, 0)  
-     (  478597.344, 4764766.500, 0, 0)  
-     (  478621.031, 4764788.500, 0, 0)  
-     (  478683.000, 4764730.500, 0, 0)  
-     (  478502.188, 4764541.500, 0, 0)  
-     (  478448.688, 4764531.500, 0, 0)  
-     (  478447.812, 4764454.000, 0, 0)  
-     (  478443.938, 4764400.500, 0, 0)  
-     (  478461.750, 4764337.500, 0, 0)  
-     (  478503.031, 4764218.000, 0, 0)  
-     (  478192.500, 4764099.500, 0, 0)  
-     (  478180.219, 4764150.000, 0, 0)  
-     (  478149.969, 4764212.500, 0, 0)  
-     (  478110.500, 4764308.500, 0, 0)  
-     (  478080.938, 4764401.500, 0, 0)  
-     (  478065.062, 4764487.500, 0, 0)  
-     (  478140.344, 4764511.000, 0, 0)  
-     (  478220.094, 4764574.500, 0, 0)  
-     (  478325.250, 4764606.500, 0, 0)  
-     (  478408.062, 4764654.000, 0, 0)  
-
-Shape:13 (Polygon)  nVertices=27, nParts=1
-  Bounds:(  479239.812, 4763850.000, 0, 0)
-      to (  480343.719, 4764788.000, 0, 0)
-     (  479750.688, 4764702.000, 0, 0) Ring 
-     (  479968.469, 4764788.000, 0, 0)  
-     (  479985.062, 4764732.000, 0, 0)  
-     (  480011.000, 4764674.500, 0, 0)  
-     (  480093.750, 4764703.000, 0, 0)  
-     (  480177.156, 4764742.000, 0, 0)  
-     (  480258.031, 4764767.000, 0, 0)  
-     (  480343.719, 4764532.500, 0, 0)  
-     (  480343.562, 4764477.000, 0, 0)  
-     (  480316.000, 4764395.000, 0, 0)  
-     (  480289.125, 4764348.500, 0, 0)  
-     (  480234.312, 4764304.000, 0, 0)  
-     (  480157.125, 4764266.500, 0, 0)  
-     (  480192.312, 4764183.000, 0, 0)  
-     (  480120.219, 4764188.500, 0, 0)  
-     (  479550.062, 4763919.500, 0, 0)  
-     (  479492.688, 4763850.000, 0, 0)  
-     (  479487.750, 4763864.500, 0, 0)  
-     (  479442.750, 4763990.000, 0, 0)  
-     (  479436.000, 4764023.000, 0, 0)  
-     (  479398.938, 4764100.000, 0, 0)  
-     (  479349.625, 4764230.000, 0, 0)  
-     (  479305.875, 4764361.000, 0, 0)  
-     (  479239.812, 4764505.000, 0, 0)  
-     (  479504.906, 4764609.500, 0, 0)  
-     (  479658.594, 4764670.000, 0, 0)  
-     (  479750.688, 4764702.000, 0, 0)  
-
-Shape:14 (Polygon)  nVertices=5, nParts=1
-  Bounds:(  479640.094, 4764670.000, 0, 0)
-      to (  479750.688, 4764752.000, 0, 0)
-     (  479750.688, 4764702.000, 0, 0) Ring 
-     (  479658.594, 4764670.000, 0, 0)  
-     (  479640.094, 4764721.000, 0, 0)  
-     (  479735.906, 4764752.000, 0, 0)  
-     (  479750.688, 4764702.000, 0, 0)  
-
-Shape:15 (Polygon)  nVertices=28, nParts=1
-  Bounds:(  478503.031, 4763357.500, 0, 0)
-      to (  479349.625, 4764418.500, 0, 0)
-     (  479305.875, 4764361.000, 0, 0) Ring 
-     (  479349.625, 4764230.000, 0, 0)  
-     (  479218.156, 4764126.000, 0, 0)  
-     (  479128.344, 4764030.500, 0, 0)  
-     (  479103.406, 4764000.000, 0, 0)  
-     (  479099.594, 4763977.500, 0, 0)  
-     (  479080.812, 4763930.000, 0, 0)  
-     (  478999.812, 4763864.500, 0, 0)  
--------------------------------------------------------------------------
-Test 4: dump pline.dbf - uses new F field type
--------------------------------------------------------------------------
-Field 0: Type=Integer, Title=`FNODE_', Width=11, Decimals=0
-Field 1: Type=Integer, Title=`TNODE_', Width=11, Decimals=0
-Field 2: Type=Integer, Title=`LPOLY_', Width=11, Decimals=0
-Field 3: Type=Integer, Title=`RPOLY_', Width=11, Decimals=0
-Field 4: Type=Double, Title=`LENGTH', Width=13, Decimals=3
-Field 5: Type=Integer, Title=`PLINE_', Width=11, Decimals=0
-Field 6: Type=Integer, Title=`PLINE_ID', Width=11, Decimals=0
-Field 7: Type=Integer, Title=`UID', Width=11, Decimals=0
-Field 8: Type=Integer, Title=`GISO_TYPE_', Width=11, Decimals=0
-Field 9: Type=Integer, Title=`SYMBOL', Width=6, Decimals=0
-Field 10: Type=Integer, Title=`LOCK__ID', Width=11, Decimals=0
-Field 11: Type=Integer, Title=`PHASE__ID', Width=6, Decimals=0
-Field 12: Type=Integer, Title=`OBJECT__ID', Width=11, Decimals=0
-Field 13: Type=String, Title=`TYPE', Width=50, Decimals=0
-Field 14: Type=Integer, Title=`SYM_NBR', Width=6, Decimals=0
-Field 15: Type=String, Title=`PHASE', Width=4, Decimals=0
-Field 16: Type=String, Title=`CKT_NM', Width=30, Decimals=0
-Field 17: Type=String, Title=`VOLTAGE', Width=30, Decimals=0
-Field 18: Type=String, Title=`CMPN', Width=30, Decimals=0
-
-Record: 0
-FNODE_:         351
-TNODE_:         352
-LPOLY_:           0
-RPOLY_:           0
-LENGTH:       139.451
-PLINE_:           1
-PLINE_ID:        8588
-UID:      544484
-GISO_TYPE_:          13
-SYMBOL:    101
-LOCK__ID:           0
-PHASE__ID:      0
-OBJECT__ID:      131978
-TYPE: Overhead Primary                                  
-SYM_NBR:    101
-PHASE: ABC 
-CKT_NM: MED36                         
-VOLTAGE: (NULL)                        
-CMPN: (NULL)                        
-
-Record: 1
-FNODE_:         352
-TNODE_:         362
-LPOLY_:           0
-RPOLY_:           0
-LENGTH:       158.033
-PLINE_:           2
-PLINE_ID:        8695
-UID:      544591
--------------------------------------------------------------------------
-Test 5: NULL Shapes.
--------------------------------------------------------------------------
-Shapefile Type: Arc   # of Shapes: 124
-
-File Bounds: (  257104.880, 5176098.606,0,0)
-         to  (  335497.500, 5226768.100,0,0)
-
-Shape:0 (Arc)  nVertices=21, nParts=1
-  Bounds:(  317138.450, 5176398.916, 0, 0)
-      to (  317325.590, 5186063.780, 0, 0)
-     (  317255.906, 5176398.916, 0, 0) Ring 
-     (  317188.010, 5176506.460, 0, 0)  
-     (  317176.920, 5176524.510, 0, 0)  
-     (  317165.340, 5176546.850, 0, 0)  
-     (  317157.950, 5176566.020, 0, 0)  
-     (  317150.020, 5176587.650, 0, 0)  
-     (  317140.130, 5176623.380, 0, 0)  
-     (  317138.700, 5176637.220, 0, 0)  
-     (  317138.450, 5176652.790, 0, 0)  
-     (  317194.710, 5177654.350, 0, 0)  
-     (  317208.900, 5178001.150, 0, 0)  
-     (  317257.240, 5178791.400, 0, 0)  
-     (  317233.330, 5179171.730, 0, 0)  
-     (  317178.860, 5179593.910, 0, 0)  
-     (  317177.430, 5180161.330, 0, 0)  
-     (  317179.910, 5181231.060, 0, 0)  
-     (  317191.120, 5182009.000, 0, 0)  
-     (  317217.150, 5182812.160, 0, 0)  
-     (  317251.760, 5184426.350, 0, 0)  
-     (  317285.550, 5185242.720, 0, 0)  
-     (  317325.590, 5186063.780, 0, 0)  
-
-Shape:1 (Arc)  nVertices=14, nParts=1
-  Bounds:(  327417.340, 5176119.960, 0, 0)
-      to (  327575.150, 5179522.550, 0, 0)
-     (  327417.340, 5176119.960, 0, 0) Ring 
-     (  327472.250, 5177756.610, 0, 0)  
-     (  327475.670, 5178507.280, 0, 0)  
-     (  327487.420, 5179001.910, 0, 0)  
-     (  327488.760, 5179080.090, 0, 0)  
-     (  327485.310, 5179309.310, 0, 0)  
-     (  327487.010, 5179328.210, 0, 0)  
-     (  327491.800, 5179348.860, 0, 0)  
-     (  327499.800, 5179374.940, 0, 0)  
-     (  327512.980, 5179413.100, 0, 0)  
-     (  327527.290, 5179446.960, 0, 0)  
-     (  327538.870, 5179469.890, 0, 0)  
-     (  327552.260, 5179491.550, 0, 0)  
-     (  327575.150, 5179522.550, 0, 0)  
-
-Shape:2 (Arc)  nVertices=40, nParts=1
-  Bounds:(  326935.880, 5180924.980, 0, 0)
-      to (  327723.190, 5198803.660, 0, 0)
-     (  327370.950, 5180924.980, 0, 0) Ring 
-     (  327410.070, 5181060.540, 0, 0)  
-     (  327512.850, 5181435.450, 0, 0)  
-     (  327518.640, 5181464.010, 0, 0)  
-     (  327523.700, 5181488.920, 0, 0)  
-     (  327524.500, 5181514.570, 0, 0)  
-     (  327468.010, 5182633.640, 0, 0)  
-     (  327500.040, 5183199.840, 0, 0)  
-     (  327499.600, 5183224.920, 0, 0)  
-     (  327484.700, 5183355.010, 0, 0)  
-     (  327483.690, 5183400.900, 0, 0)  
-     (  327483.840, 5183464.480, 0, 0)  
-     (  327486.010, 5183494.980, 0, 0)  
-     (  327571.280, 5184207.820, 0, 0)  
-     (  327617.210, 5184599.430, 0, 0)  
-     (  327620.420, 5184623.780, 0, 0)  
-     (  327625.530, 5184650.530, 0, 0)  
-     (  327698.430, 5184927.070, 0, 0)  
-     (  327702.100, 5184946.520, 0, 0)  
-     (  327717.940, 5185394.820, 0, 0)  
-     (  327723.190, 5185719.320, 0, 0)  
-     (  327719.460, 5185737.170, 0, 0)  
-     (  327712.090, 5185755.740, 0, 0)  
-     (  327699.840, 5185775.080, 0, 0)  
-     (  327683.830, 5185791.480, 0, 0)  
-     (  327665.380, 5185807.950, 0, 0)  
-     (  327641.970, 5185822.740, 0, 0)  
-     (  327622.280, 5185829.070, 0, 0)  
-     (  327604.950, 5185832.940, 0, 0)  
-     (  326937.500, 5185829.310, 0, 0)  
-     (  326935.880, 5187515.510, 0, 0)  
-     (  326983.050, 5189115.230, 0, 0)  
-     (  326998.860, 5189920.820, 0, 0)  
-     (  327060.240, 5190715.870, 0, 0)  
-     (  327123.230, 5192332.220, 0, 0)  
-     (  327179.920, 5193766.290, 0, 0)  
-     (  327185.490, 5193921.940, 0, 0)  
-     (  327204.120, 5195553.580, 0, 0)  
-     (  327218.270, 5197179.250, 0, 0)  
-     (  327251.330, 5198803.660, 0, 0)  
-
-Shape:3 (NullShape)  nVertices=0, nParts=0
-  Bounds:(       0.000,       0.000, 0, 0)
-      to (       0.000,       0.000, 0, 0)
-
-Shape:4 (NullShape)  nVertices=0, nParts=0
-  Bounds:(       0.000,       0.000, 0, 0)
-      to (       0.000,       0.000, 0, 0)
-
-Shape:5 (NullShape)  nVertices=0, nParts=0
-  Bounds:(       0.000,       0.000, 0, 0)
-      to (       0.000,       0.000, 0, 0)
-
-Shape:6 (Arc)  nVertices=2, nParts=1
-  Bounds:(  327123.230, 5192296.600, 0, 0)
-      to (  328480.850, 5192332.220, 0, 0)
-     (  327123.230, 5192332.220, 0, 0) Ring 
-     (  328480.850, 5192296.600, 0, 0)  
-
-Shape:7 (Arc)  nVertices=5, nParts=1
-  Bounds:(  329222.060, 5217943.490, 0, 0)
-      to (  335290.680, 5218084.780, 0, 0)
-     (  329222.060, 5218084.780, 0, 0) Ring 
-     (  330442.520, 5218057.650, 0, 0)  
-     (  332059.960, 5218033.810, 0, 0)  
-     (  333685.820, 5218004.860, 0, 0)  
-     (  335290.680, 5217943.490, 0, 0)  
-
-Shape:8 (Arc)  nVertices=65, nParts=1
-  Bounds:(  280048.100, 5177687.643, 0, 0)
-      to (  280439.410, 5182567.120, 0, 0)
-     (  280316.840, 5177687.643, 0, 0) Ring 
-     (  280325.310, 5177968.830, 0, 0)  
-     (  280324.630, 5178037.940, 0, 0)  
-     (  280324.150, 5178059.350, 0, 0)  
-     (  280320.130, 5178084.560, 0, 0)  
-     (  280299.860, 5178170.250, 0, 0)  
-     (  280288.710, 5178218.940, 0, 0)  
-     (  280274.280, 5178283.640, 0, 0)  
-     (  280268.000, 5178330.870, 0, 0)  
-     (  280267.910, 5178346.760, 0, 0)  
-     (  280270.510, 5178364.580, 0, 0)  
-     (  280274.820, 5178382.360, 0, 0)  
-     (  280278.440, 5178397.210, 0, 0)  
-     (  280351.400, 5178743.800, 0, 0)  
-     (  280369.860, 5178800.630, 0, 0)  
-     (  280378.670, 5178826.010, 0, 0)  
-     (  280400.350, 5178869.890, 0, 0)  
-     (  280414.870, 5178901.180, 0, 0)  
-     (  280427.030, 5178934.990, 0, 0)  
-     (  280436.250, 5178971.970, 0, 0)  
-     (  280439.410, 5178992.650, 0, 0)  
-     (  280439.170, 5179001.630, 0, 0)  
-     (  280437.010, 5179011.690, 0, 0)  
-     (  280434.930, 5179016.970, 0, 0)  
-     (  280431.870, 5179022.260, 0, 0)  
-     (  280413.610, 5179041.850, 0, 0)  
-     (  280410.040, 5179046.780, 0, 0)  
-     (  280406.640, 5179052.480, 0, 0)  
diff --git a/stream1.sh b/stream1.sh
deleted file mode 100755
index 8a32887..0000000
--- a/stream1.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/sh
-	
-EG_DATA=/u/www/projects/shapelib/eg_data
-
-echo -------------------------------------------------------------------------
-echo Test 1: dump anno.shp
-echo -------------------------------------------------------------------------
-./shpdump $EG_DATA/anno.shp | head -250
-
-echo -------------------------------------------------------------------------
-echo Test 2: dump brklinz.shp
-echo -------------------------------------------------------------------------
-./shpdump $EG_DATA/brklinz.shp | head -500
-
-echo -------------------------------------------------------------------------
-echo Test 3: dump polygon.shp
-echo -------------------------------------------------------------------------
-./shpdump $EG_DATA/polygon.shp | head -500
-
-echo -------------------------------------------------------------------------
-echo Test 4: dump pline.dbf - uses new F field type
-echo -------------------------------------------------------------------------
-./dbfdump -m -h $EG_DATA/pline.dbf | head -50
-
-echo -------------------------------------------------------------------------
-echo Test 5: NULL Shapes.
-echo -------------------------------------------------------------------------
-./shpdump $EG_DATA/csah.dbf | head -150
diff --git a/stream2.out b/stream2.out
deleted file mode 100644
index 249f8b8..0000000
--- a/stream2.out
+++ /dev/null
@@ -1,530 +0,0 @@
------------------------------------------------------------------------
-Test 2/0
------------------------------------------------------------------------
-Shapefile Type: NullShape   # of Shapes: 2
-
-File Bounds: (0,0,0,0)
-         to  (10,20,0,0)
-
-Shape:0 (NullShape)  nVertices=0, nParts=0
-  Bounds:(0,0, 0)
-      to (0,0, 0)
-
-Shape:1 (NullShape)  nVertices=0, nParts=0
-  Bounds:(0,0, 0)
-      to (0,0, 0)
------------------------------------------------------------------------
-Test 2/1
------------------------------------------------------------------------
-Shapefile Type: Point   # of Shapes: 2
-
-File Bounds: (1,2,0,0)
-         to  (10,20,0,0)
-
-Shape:0 (Point)  nVertices=1, nParts=0
-  Bounds:(1,2, 0)
-      to (1,2, 0)
-     (1,2, 0)  
-
-Shape:1 (Point)  nVertices=1, nParts=0
-  Bounds:(10,20, 0)
-      to (10,20, 0)
-     (10,20, 0)  
------------------------------------------------------------------------
-Test 2/2
------------------------------------------------------------------------
-Shapefile Type: PointZ   # of Shapes: 2
-
-File Bounds: (1,2,3,4)
-         to  (10,20,30,40)
-
-Shape:0 (PointZ)  nVertices=1, nParts=0
-  Bounds:(1,2, 3, 4)
-      to (1,2, 3, 4)
-     (1,2, 3, 4)  
-
-Shape:1 (PointZ)  nVertices=1, nParts=0
-  Bounds:(10,20, 30, 40)
-      to (10,20, 30, 40)
-     (10,20, 30, 40)  
------------------------------------------------------------------------
-Test 2/3
------------------------------------------------------------------------
-Shapefile Type: PointM   # of Shapes: 2
-
-File Bounds: (1,2,0,4)
-         to  (10,20,0,40)
-
-Shape:0 (PointM)  nVertices=1, nParts=0
-  Bounds:(1,2, 0, 4)
-      to (1,2, 0, 4)
-     (1,2, 0, 4)  
-
-Shape:1 (PointM)  nVertices=1, nParts=0
-  Bounds:(10,20, 0, 40)
-      to (10,20, 0, 40)
-     (10,20, 0, 40)  
------------------------------------------------------------------------
-Test 2/4
------------------------------------------------------------------------
-Shapefile Type: MultiPoint   # of Shapes: 3
-
-File Bounds: (1.15,2.25,0,0)
-         to  (24.15,25.25,0,0)
-
-Shape:0 (MultiPoint)  nVertices=4, nParts=0
-  Bounds:(1.15,2.25, 0)
-      to (4.15,5.25, 0)
-     (1.15,2.25, 0)  
-     (2.15,3.25, 0)  
-     (3.15,4.25, 0)  
-     (4.15,5.25, 0)  
-
-Shape:1 (MultiPoint)  nVertices=4, nParts=0
-  Bounds:(11.15,12.25, 0)
-      to (14.15,15.25, 0)
-     (11.15,12.25, 0)  
-     (12.15,13.25, 0)  
-     (13.15,14.25, 0)  
-     (14.15,15.25, 0)  
-
-Shape:2 (MultiPoint)  nVertices=4, nParts=0
-  Bounds:(21.15,22.25, 0)
-      to (24.15,25.25, 0)
-     (21.15,22.25, 0)  
-     (22.15,23.25, 0)  
-     (23.15,24.25, 0)  
-     (24.15,25.25, 0)  
------------------------------------------------------------------------
-Test 2/5
------------------------------------------------------------------------
-Shapefile Type: MultiPointZ   # of Shapes: 3
-
-File Bounds: (1.15,2.25,3.35,4.45)
-         to  (24.15,25.25,26.35,27.45)
-
-Shape:0 (MultiPointZ)  nVertices=4, nParts=0
-  Bounds:(1.15,2.25, 3.35, 4.45)
-      to (4.15,5.25, 6.35, 7.45)
-     (1.15,2.25, 3.35, 4.45)  
-     (2.15,3.25, 4.35, 5.45)  
-     (3.15,4.25, 5.35, 6.45)  
-     (4.15,5.25, 6.35, 7.45)  
-
-Shape:1 (MultiPointZ)  nVertices=4, nParts=0
-  Bounds:(11.15,12.25, 13.35, 14.45)
-      to (14.15,15.25, 16.35, 17.45)
-     (11.15,12.25, 13.35, 14.45)  
-     (12.15,13.25, 14.35, 15.45)  
-     (13.15,14.25, 15.35, 16.45)  
-     (14.15,15.25, 16.35, 17.45)  
-
-Shape:2 (MultiPointZ)  nVertices=4, nParts=0
-  Bounds:(21.15,22.25, 23.35, 24.45)
-      to (24.15,25.25, 26.35, 27.45)
-     (21.15,22.25, 23.35, 24.45)  
-     (22.15,23.25, 24.35, 25.45)  
-     (23.15,24.25, 25.35, 26.45)  
-     (24.15,25.25, 26.35, 27.45)  
------------------------------------------------------------------------
-Test 2/6
------------------------------------------------------------------------
-Shapefile Type: MultiPointM   # of Shapes: 3
-
-File Bounds: (1.15,2.25,0,4.45)
-         to  (24.15,25.25,0,27.45)
-
-Shape:0 (MultiPointM)  nVertices=4, nParts=0
-  Bounds:(1.15,2.25, 0, 4.45)
-      to (4.15,5.25, 0, 7.45)
-     (1.15,2.25, 0, 4.45)  
-     (2.15,3.25, 0, 5.45)  
-     (3.15,4.25, 0, 6.45)  
-     (4.15,5.25, 0, 7.45)  
-
-Shape:1 (MultiPointM)  nVertices=4, nParts=0
-  Bounds:(11.15,12.25, 0, 14.45)
-      to (14.15,15.25, 0, 17.45)
-     (11.15,12.25, 0, 14.45)  
-     (12.15,13.25, 0, 15.45)  
-     (13.15,14.25, 0, 16.45)  
-     (14.15,15.25, 0, 17.45)  
-
-Shape:2 (MultiPointM)  nVertices=4, nParts=0
-  Bounds:(21.15,22.25, 0, 24.45)
-      to (24.15,25.25, 0, 27.45)
-     (21.15,22.25, 0, 24.45)  
-     (22.15,23.25, 0, 25.45)  
-     (23.15,24.25, 0, 26.45)  
-     (24.15,25.25, 0, 27.45)  
------------------------------------------------------------------------
-Test 2/7
------------------------------------------------------------------------
-Shapefile Type: Arc   # of Shapes: 4
-
-File Bounds: (0,0,0,0)
-         to  (100,100,0,0)
-
-Shape:0 (Arc)  nVertices=5, nParts=1
-  Bounds:(1,1, 0)
-      to (2,2, 0)
-     (1,1, 0) Ring 
-     (2,1, 0)  
-     (2,2, 0)  
-     (1,2, 0)  
-     (1,1, 0)  
-
-Shape:1 (Arc)  nVertices=5, nParts=1
-  Bounds:(1,4, 0)
-      to (2,5, 0)
-     (1,4, 0) Ring 
-     (2,4, 0)  
-     (2,5, 0)  
-     (1,5, 0)  
-     (1,4, 0)  
-
-Shape:2 (Arc)  nVertices=5, nParts=1
-  Bounds:(1,7, 0)
-      to (2,8, 0)
-     (1,7, 0) Ring 
-     (2,7, 0)  
-     (2,8, 0)  
-     (1,8, 0)  
-     (1,7, 0)  
-
-Shape:3 (Arc)  nVertices=15, nParts=3
-  Bounds:(0,0, 0)
-      to (100,100, 0)
-     (0,0, 0) Ring 
-     (0,100, 0)  
-     (100,100, 0)  
-     (100,0, 0)  
-     (0,0, 0)  
-   + (10,20, 0) Ring 
-     (30,20, 0)  
-     (30,40, 0)  
-     (10,40, 0)  
-     (10,20, 0)  
-   + (60,20, 0) Ring 
-     (90,20, 0)  
-     (90,40, 0)  
-     (60,40, 0)  
-     (60,20, 0)  
------------------------------------------------------------------------
-Test 2/8
------------------------------------------------------------------------
-Shapefile Type: ArcZ   # of Shapes: 4
-
-File Bounds: (0,0,0,0)
-         to  (100,100,27.35,28.45)
-
-Shape:0 (ArcZ)  nVertices=5, nParts=1
-  Bounds:(1,1, 3.35, 4.45)
-      to (2,2, 7.35, 8.45)
-     (1,1, 3.35, 4.45) Ring 
-     (2,1, 4.35, 5.45)  
-     (2,2, 5.35, 6.45)  
-     (1,2, 6.35, 7.45)  
-     (1,1, 7.35, 8.45)  
-
-Shape:1 (ArcZ)  nVertices=5, nParts=1
-  Bounds:(1,4, 13.35, 14.45)
-      to (2,5, 17.35, 18.45)
-     (1,4, 13.35, 14.45) Ring 
-     (2,4, 14.35, 15.45)  
-     (2,5, 15.35, 16.45)  
-     (1,5, 16.35, 17.45)  
-     (1,4, 17.35, 18.45)  
-
-Shape:2 (ArcZ)  nVertices=5, nParts=1
-  Bounds:(1,7, 23.35, 24.45)
-      to (2,8, 27.35, 28.45)
-     (1,7, 23.35, 24.45) Ring 
-     (2,7, 24.35, 25.45)  
-     (2,8, 25.35, 26.45)  
-     (1,8, 26.35, 27.45)  
-     (1,7, 27.35, 28.45)  
-
-Shape:3 (ArcZ)  nVertices=15, nParts=3
-  Bounds:(0,0, 0, 0)
-      to (100,100, 14, 28)
-     (0,0, 0, 0) Ring 
-     (0,100, 1, 2)  
-     (100,100, 2, 4)  
-     (100,0, 3, 6)  
-     (0,0, 4, 8)  
-   + (10,20, 5, 10) Ring 
-     (30,20, 6, 12)  
-     (30,40, 7, 14)  
-     (10,40, 8, 16)  
-     (10,20, 9, 18)  
-   + (60,20, 10, 20) Ring 
-     (90,20, 11, 22)  
-     (90,40, 12, 24)  
-     (60,40, 13, 26)  
-     (60,20, 14, 28)  
------------------------------------------------------------------------
-Test 2/9
------------------------------------------------------------------------
-Shapefile Type: ArcM   # of Shapes: 4
-
-File Bounds: (0,0,0,0)
-         to  (100,100,0,28.45)
-
-Shape:0 (ArcM)  nVertices=5, nParts=1
-  Bounds:(1,1, 0, 4.45)
-      to (2,2, 0, 8.45)
-     (1,1, 0, 4.45) Ring 
-     (2,1, 0, 5.45)  
-     (2,2, 0, 6.45)  
-     (1,2, 0, 7.45)  
-     (1,1, 0, 8.45)  
-
-Shape:1 (ArcM)  nVertices=5, nParts=1
-  Bounds:(1,4, 0, 14.45)
-      to (2,5, 0, 18.45)
-     (1,4, 0, 14.45) Ring 
-     (2,4, 0, 15.45)  
-     (2,5, 0, 16.45)  
-     (1,5, 0, 17.45)  
-     (1,4, 0, 18.45)  
-
-Shape:2 (ArcM)  nVertices=5, nParts=1
-  Bounds:(1,7, 0, 24.45)
-      to (2,8, 0, 28.45)
-     (1,7, 0, 24.45) Ring 
-     (2,7, 0, 25.45)  
-     (2,8, 0, 26.45)  
-     (1,8, 0, 27.45)  
-     (1,7, 0, 28.45)  
-
-Shape:3 (ArcM)  nVertices=15, nParts=3
-  Bounds:(0,0, 0, 0)
-      to (100,100, 0, 28)
-     (0,0, 0, 0) Ring 
-     (0,100, 0, 2)  
-     (100,100, 0, 4)  
-     (100,0, 0, 6)  
-     (0,0, 0, 8)  
-   + (10,20, 0, 10) Ring 
-     (30,20, 0, 12)  
-     (30,40, 0, 14)  
-     (10,40, 0, 16)  
-     (10,20, 0, 18)  
-   + (60,20, 0, 20) Ring 
-     (90,20, 0, 22)  
-     (90,40, 0, 24)  
-     (60,40, 0, 26)  
-     (60,20, 0, 28)  
------------------------------------------------------------------------
-Test 2/10
------------------------------------------------------------------------
-Shapefile Type: Polygon   # of Shapes: 4
-
-File Bounds: (0,0,0,0)
-         to  (100,100,0,0)
-
-Shape:0 (Polygon)  nVertices=5, nParts=1
-  Bounds:(1,1, 0)
-      to (2,2, 0)
-     (1,1, 0) Ring 
-     (2,1, 0)  
-     (2,2, 0)  
-     (1,2, 0)  
-     (1,1, 0)  
-
-Shape:1 (Polygon)  nVertices=5, nParts=1
-  Bounds:(1,4, 0)
-      to (2,5, 0)
-     (1,4, 0) Ring 
-     (2,4, 0)  
-     (2,5, 0)  
-     (1,5, 0)  
-     (1,4, 0)  
-
-Shape:2 (Polygon)  nVertices=5, nParts=1
-  Bounds:(1,7, 0)
-      to (2,8, 0)
-     (1,7, 0) Ring 
-     (2,7, 0)  
-     (2,8, 0)  
-     (1,8, 0)  
-     (1,7, 0)  
-
-Shape:3 (Polygon)  nVertices=15, nParts=3
-  Bounds:(0,0, 0)
-      to (100,100, 0)
-     (0,0, 0) Ring 
-     (0,100, 0)  
-     (100,100, 0)  
-     (100,0, 0)  
-     (0,0, 0)  
-   + (10,20, 0) Ring 
-     (30,20, 0)  
-     (30,40, 0)  
-     (10,40, 0)  
-     (10,20, 0)  
-   + (60,20, 0) Ring 
-     (90,20, 0)  
-     (90,40, 0)  
-     (60,40, 0)  
-     (60,20, 0)  
------------------------------------------------------------------------
-Test 2/11
------------------------------------------------------------------------
-Shapefile Type: PolygonZ   # of Shapes: 4
-
-File Bounds: (0,0,0,0)
-         to  (100,100,27.35,28.45)
-
-Shape:0 (PolygonZ)  nVertices=5, nParts=1
-  Bounds:(1,1, 3.35, 4.45)
-      to (2,2, 7.35, 8.45)
-     (1,1, 3.35, 4.45) Ring 
-     (2,1, 4.35, 5.45)  
-     (2,2, 5.35, 6.45)  
-     (1,2, 6.35, 7.45)  
-     (1,1, 7.35, 8.45)  
-
-Shape:1 (PolygonZ)  nVertices=5, nParts=1
-  Bounds:(1,4, 13.35, 14.45)
-      to (2,5, 17.35, 18.45)
-     (1,4, 13.35, 14.45) Ring 
-     (2,4, 14.35, 15.45)  
-     (2,5, 15.35, 16.45)  
-     (1,5, 16.35, 17.45)  
-     (1,4, 17.35, 18.45)  
-
-Shape:2 (PolygonZ)  nVertices=5, nParts=1
-  Bounds:(1,7, 23.35, 24.45)
-      to (2,8, 27.35, 28.45)
-     (1,7, 23.35, 24.45) Ring 
-     (2,7, 24.35, 25.45)  
-     (2,8, 25.35, 26.45)  
-     (1,8, 26.35, 27.45)  
-     (1,7, 27.35, 28.45)  
-
-Shape:3 (PolygonZ)  nVertices=15, nParts=3
-  Bounds:(0,0, 0, 0)
-      to (100,100, 14, 28)
-     (0,0, 0, 0) Ring 
-     (0,100, 1, 2)  
-     (100,100, 2, 4)  
-     (100,0, 3, 6)  
-     (0,0, 4, 8)  
-   + (10,20, 5, 10) Ring 
-     (30,20, 6, 12)  
-     (30,40, 7, 14)  
-     (10,40, 8, 16)  
-     (10,20, 9, 18)  
-   + (60,20, 10, 20) Ring 
-     (90,20, 11, 22)  
-     (90,40, 12, 24)  
-     (60,40, 13, 26)  
-     (60,20, 14, 28)  
------------------------------------------------------------------------
-Test 2/12
------------------------------------------------------------------------
-Shapefile Type: PolygonM   # of Shapes: 4
-
-File Bounds: (0,0,0,0)
-         to  (100,100,0,28.45)
-
-Shape:0 (PolygonM)  nVertices=5, nParts=1
-  Bounds:(1,1, 0, 4.45)
-      to (2,2, 0, 8.45)
-     (1,1, 0, 4.45) Ring 
-     (2,1, 0, 5.45)  
-     (2,2, 0, 6.45)  
-     (1,2, 0, 7.45)  
-     (1,1, 0, 8.45)  
-
-Shape:1 (PolygonM)  nVertices=5, nParts=1
-  Bounds:(1,4, 0, 14.45)
-      to (2,5, 0, 18.45)
-     (1,4, 0, 14.45) Ring 
-     (2,4, 0, 15.45)  
-     (2,5, 0, 16.45)  
-     (1,5, 0, 17.45)  
-     (1,4, 0, 18.45)  
-
-Shape:2 (PolygonM)  nVertices=5, nParts=1
-  Bounds:(1,7, 0, 24.45)
-      to (2,8, 0, 28.45)
-     (1,7, 0, 24.45) Ring 
-     (2,7, 0, 25.45)  
-     (2,8, 0, 26.45)  
-     (1,8, 0, 27.45)  
-     (1,7, 0, 28.45)  
-
-Shape:3 (PolygonM)  nVertices=15, nParts=3
-  Bounds:(0,0, 0, 0)
-      to (100,100, 0, 28)
-     (0,0, 0, 0) Ring 
-     (0,100, 0, 2)  
-     (100,100, 0, 4)  
-     (100,0, 0, 6)  
-     (0,0, 0, 8)  
-   + (10,20, 0, 10) Ring 
-     (30,20, 0, 12)  
-     (30,40, 0, 14)  
-     (10,40, 0, 16)  
-     (10,20, 0, 18)  
-   + (60,20, 0, 20) Ring 
-     (90,20, 0, 22)  
-     (90,40, 0, 24)  
-     (60,40, 0, 26)  
-     (60,20, 0, 28)  
------------------------------------------------------------------------
-Test 2/13
------------------------------------------------------------------------
-Shapefile Type: MultiPatch   # of Shapes: 4
-
-File Bounds: (0,0,0,0)
-         to  (100,100,27.35,28.45)
-
-Shape:0 (MultiPatch)  nVertices=5, nParts=1
-  Bounds:(1,1, 3.35)
-      to (2,2, 7.35)
-     (1,1, 3.35) Ring 
-     (2,1, 4.35)  
-     (2,2, 5.35)  
-     (1,2, 6.35)  
-     (1,1, 7.35)  
-
-Shape:1 (MultiPatch)  nVertices=5, nParts=1
-  Bounds:(1,4, 13.35)
-      to (2,5, 17.35)
-     (1,4, 13.35) Ring 
-     (2,4, 14.35)  
-     (2,5, 15.35)  
-     (1,5, 16.35)  
-     (1,4, 17.35)  
-
-Shape:2 (MultiPatch)  nVertices=5, nParts=1
-  Bounds:(1,7, 23.35)
-      to (2,8, 27.35)
-     (1,7, 23.35) Ring 
-     (2,7, 24.35)  
-     (2,8, 25.35)  
-     (1,8, 26.35)  
-     (1,7, 27.35)  
-
-Shape:3 (MultiPatch)  nVertices=15, nParts=3
-  Bounds:(0,0, 0)
-      to (100,100, 14)
-     (0,0, 0) Ring 
-     (0,100, 1)  
-     (100,100, 2)  
-     (100,0, 3)  
-     (0,0, 4)  
-   + (10,20, 5) InnerRing 
-     (30,20, 6)  
-     (30,40, 7)  
-     (10,40, 8)  
-     (10,20, 9)  
-   + (60,20, 10) InnerRing 
-     (90,20, 11)  
-     (90,40, 12)  
-     (60,40, 13)  
-     (60,20, 14)  
diff --git a/stream2.sh b/stream2.sh
deleted file mode 100755
index bd0b111..0000000
--- a/stream2.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13; do
-  echo -----------------------------------------------------------------------
-  echo Test 2/$i
-  echo -----------------------------------------------------------------------
-
-  ./shptest $i
-  ./shpdump test${i}.shp
-done
-
diff --git a/stream3.out b/stream3.out
deleted file mode 100644
index 1ab8af4..0000000
--- a/stream3.out
+++ /dev/null
@@ -1,37 +0,0 @@
-Shapefile Type: Polygon   # of Shapes: 3
-
-File Bounds: (0,0,0,0)
-         to  (180,170,0,0)
-
-Shape:0 (Polygon)  nVertices=9, nParts=2
-  Bounds:(0,0, 0)
-      to (100,100, 0)
-     (0,0, 0) Ring 
-     (100,0, 0)  
-     (100,100, 0)  
-     (0,100, 0)  
-     (0,0, 0)  
-   + (20,20, 0) Ring 
-     (20,30, 0)  
-     (30,30, 0)  
-     (20,20, 0)  
-
-Shape:1 (Polygon)  nVertices=4, nParts=1
-  Bounds:(150,150, 0)
-      to (180,170, 0)
-     (150,150, 0) Ring 
-     (160,150, 0)  
-     (180,170, 0)  
-     (150,150, 0)  
-
-Shape:2 (Polygon)  nVertices=4, nParts=1
-  Bounds:(150,150, 0)
-      to (180,170, 0)
-     (150,150, 0) Ring 
-     (160,150, 0)  
-     (180,170, 0)  
-     (150,150, 0)  
-Descriptio                     TestInt       TestDouble 
-Square with triangle missing        1           2.50000 
-Smaller triangle                  100        1000.25000 
-(NULL)                         (NULL)            (NULL) 
diff --git a/tests/stream1.out b/tests/stream1.out
new file mode 100644
index 0000000..de59c44
--- /dev/null
+++ b/tests/stream1.out
@@ -0,0 +1,1465 @@
+-------------------------------------------------------------------------
+Test 1: dump anno.shp
+-------------------------------------------------------------------------
+Shapefile Type: Polygon   # of Shapes: 201
+
+File Bounds: (  471276.281, 4751595.500,0,0)
+         to  (  492683.536, 4765390.413,0,0)
+
+Shape:0 (Polygon)  nVertices=5, nParts=1
+  Bounds:(  486019.130, 4764549.500, 0, 0)
+      to (  486356.183, 4765212.744, 0, 0)
+     (  486089.531, 4764549.500, 0, 0) Ring 
+     (  486019.130, 4764579.128, 0, 0)  
+     (  486285.782, 4765212.744, 0, 0)  
+     (  486356.183, 4765183.116, 0, 0)  
+     (  486089.531, 4764549.500, 0, 0)  
+
+Shape:1 (Polygon)  nVertices=5, nParts=1
+  Bounds:(  484948.275, 4763866.500, 0, 0)
+      to (  485333.012, 4764070.376, 0, 0)
+     (  484974.719, 4763866.500, 0, 0) Ring 
+     (  484948.275, 4763938.159, 0, 0)  
+     (  485306.569, 4764070.376, 0, 0)  
+     (  485333.012, 4763998.717, 0, 0)  
+     (  484974.719, 4763866.500, 0, 0)  
+
+Shape:2 (Polygon)  nVertices=5, nParts=1
+  Bounds:(  485577.021, 4764106.500, 0, 0)
+      to (  485818.355, 4764259.305, 0, 0)
+     (  485604.156, 4764106.500, 0, 0) Ring 
+     (  485577.021, 4764177.900, 0, 0)  
+     (  485791.220, 4764259.305, 0, 0)  
+     (  485818.355, 4764187.906, 0, 0)  
+     (  485604.156, 4764106.500, 0, 0)  
+
+Shape:3 (Polygon)  nVertices=5, nParts=1
+  Bounds:(  484861.500, 4762570.513, 0, 0)
+      to (  485092.062, 4763026.856, 0, 0)
+     (  485092.062, 4762597.000, 0, 0) Ring 
+     (  485020.420, 4762570.513, 0, 0)  
+     (  484861.500, 4763000.370, 0, 0)  
+     (  484933.143, 4763026.856, 0, 0)  
+     (  485092.062, 4762597.000, 0, 0)  
+
+Shape:4 (Polygon)  nVertices=5, nParts=1
+  Bounds:(  484452.624, 4763792.614, 0, 0)
+      to (  484628.031, 4764105.947, 0, 0)
+     (  484628.031, 4763818.500, 0, 0) Ring 
+     (  484556.169, 4763792.614, 0, 0)  
+     (  484452.624, 4764080.061, 0, 0)  
+     (  484524.486, 4764105.947, 0, 0)  
+     (  484628.031, 4763818.500, 0, 0)  
+
+Shape:5 (Polygon)  nVertices=5, nParts=1
+  Bounds:(  484355.352, 4764139.435, 0, 0)
+      to (  484505.344, 4764380.892, 0, 0)
+     (  484505.344, 4764165.500, 0, 0) Ring 
+     (  484433.546, 4764139.435, 0, 0)  
+     (  484355.352, 4764354.827, 0, 0)  
+     (  484427.150, 4764380.892, 0, 0)  
+     (  484505.344, 4764165.500, 0, 0)  
+
+Shape:6 (Polygon)  nVertices=9, nParts=1
+  Bounds:(  484548.866, 4763118.531, 0, 0)
+      to (  484772.062, 4763742.258, 0, 0)
+     (  484772.062, 4763152.000, 0, 0) Ring 
+     (  484703.404, 4763118.531, 0, 0)  
+     (  484605.763, 4763318.832, 0, 0)  
+     (  484548.866, 4763471.149, 0, 0)  
+     (  484603.088, 4763742.258, 0, 0)  
+     (  484677.987, 4763727.278, 0, 0)  
+     (  484628.031, 4763477.500, 0, 0)  
+     (  484676.031, 4763349.000, 0, 0)  
+     (  484772.062, 4763152.000, 0, 0)  
+
+Shape:7 (Polygon)  nVertices=5, nParts=1
+  Bounds:(  484671.739, 4763562.500, 0, 0)
+      to (  484911.415, 4763682.338, 0, 0)
+     (  484686.719, 4763562.500, 0, 0) Ring 
+     (  484671.739, 4763637.399, 0, 0)  
+     (  484896.435, 4763682.338, 0, 0)  
+     (  484911.415, 4763607.439, 0, 0)  
+     (  484686.719, 4763562.500, 0, 0)  
+
+Shape:8 (Polygon)  nVertices=5, nParts=1
+  Bounds:(  484930.172, 4763125.500, 0, 0)
+      to (  485596.342, 4763453.269, 0, 0)
+     (  484958.719, 4763125.500, 0, 0) Ring 
+     (  484930.172, 4763196.347, 0, 0)  
+     (  485567.795, 4763453.269, 0, 0)  
+     (  485596.342, 4763382.423, 0, 0)  
+     (  484958.719, 4763125.500, 0, 0)  
+
+Shape:9 (Polygon)  nVertices=5, nParts=1
+  Bounds:(  485102.757, 4763082.500, 0, 0)
+      to (  485344.154, 4763234.029, 0, 0)
+     (  485129.406, 4763082.500, 0, 0) Ring 
+     (  485102.757, 4763154.083, 0, 0)  
+     (  485317.505, 4763234.029, 0, 0)  
+     (  485344.154, 4763162.446, 0, 0)  
+     (  485129.406, 4763082.500, 0, 0)  
+
+Shape:10 (Polygon)  nVertices=5, nParts=1
+  Bounds:(  485368.786, 4762538.500, 0, 0)
+      to (  485824.016, 4762774.029, 0, 0)
+     (  485396.156, 4762538.500, 0, 0) Ring 
+     (  485368.786, 4762609.810, 0, 0)  
+     (  485796.646, 4762774.029, 0, 0)  
+     (  485824.016, 4762702.719, 0, 0)  
+     (  485396.156, 4762538.500, 0, 0)  
+
+Shape:11 (Polygon)  nVertices=5, nParts=1
+  Bounds:(  487002.484, 4763184.000, 0, 0)
+      to (  487243.960, 4763333.368, 0, 0)
+     (  487028.312, 4763184.000, 0, 0) Ring 
+     (  487002.484, 4763255.883, 0, 0)  
+     (  487218.132, 4763333.368, 0, 0)  
+     (  487243.960, 4763261.486, 0, 0)  
+     (  487028.312, 4763184.000, 0, 0)  
+
+Shape:12 (Polygon)  nVertices=5, nParts=1
+  Bounds:(  486733.537, 4762455.413, 0, 0)
+      to (  487076.312, 4763275.483, 0, 0)
+     (  487076.312, 4762480.000, 0, 0) Ring 
+     (  487003.996, 4762455.413, 0, 0)  
+     (  486733.537, 4763250.896, 0, 0)  
+     (  486805.854, 4763275.483, 0, 0)  
+     (  487076.312, 4762480.000, 0, 0)  
+
+Shape:13 (Polygon)  nVertices=5, nParts=1
+  Bounds:(  486440.735, 4762331.029, 0, 0)
+      to (  486772.281, 4763075.311, 0, 0)
+     (  486772.281, 4762357.000, 0, 0) Ring 
+     (  486700.450, 4762331.029, 0, 0)  
+     (  486440.735, 4763049.339, 0, 0)  
+     (  486512.566, 4763075.311, 0, 0)  
+     (  486772.281, 4762357.000, 0, 0)  
+
+Shape:14 (Polygon)  nVertices=5, nParts=1
+  Bounds:(  486383.882, 4762986.530, 0, 0)
+      to (  486521.594, 4763227.908, 0, 0)
+     (  486521.594, 4763008.000, 0, 0) Ring 
+     (  486448.291, 4762986.530, 0, 0)  
+     (  486383.882, 4763206.438, 0, 0)  
+     (  486457.184, 4763227.908, 0, 0)  
+     (  486521.594, 4763008.000, 0, 0)  
+
+Shape:15 (Polygon)  nVertices=9, nParts=1
+  Bounds:(  486360.416, 4762774.310, 0, 0)
+      to (  486800.882, 4763656.208, 0, 0)
+     (  486489.594, 4763600.000, 0, 0) Ring 
+     (  486541.313, 4763656.208, 0, 0)  
+     (  486762.057, 4763453.094, 0, 0)  
+     (  486800.882, 4763266.659, 0, 0)  
+     (  486420.883, 4762774.310, 0, 0)  
+     (  486360.416, 4762820.979, 0, 0)  
+     (  486718.938, 4763285.500, 0, 0)  
+     (  486692.281, 4763413.500, 0, 0)  
+     (  486489.594, 4763600.000, 0, 0)  
+
+Shape:16 (Polygon)  nVertices=5, nParts=1
+  Bounds:(  486682.872, 4762181.000, 0, 0)
+      to (  487292.496, 4762415.463, 0, 0)
+     (  486702.969, 4762181.000, 0, 0) Ring 
+     (  486682.872, 4762254.691, 0, 0)  
+     (  487272.400, 4762415.463, 0, 0)  
+     (  487292.496, 4762341.772, 0, 0)  
+     (  486702.969, 4762181.000, 0, 0)  
+
+Shape:17 (Polygon)  nVertices=5, nParts=1
+  Bounds:(  487480.713, 4762283.320, 0, 0)
+      to (  487732.406, 4762812.552, 0, 0)
+     (  487732.406, 4762309.000, 0, 0) Ring 
+     (  487660.470, 4762283.320, 0, 0)  
+     (  487480.713, 4762786.872, 0, 0)  
+     (  487552.649, 4762812.552, 0, 0)  
+     (  487732.406, 4762309.000, 0, 0)  
+
+Shape:18 (Polygon)  nVertices=5, nParts=1
+  Bounds:(  487069.757, 4763685.709, 0, 0)
+      to (  487220.344, 4763927.145, 0, 0)
+     (  487220.344, 4763712.000, 0, 0) Ring 
+     (  487148.629, 4763685.709, 0, 0)  
+     (  487069.757, 4763900.854, 0, 0)  
+     (  487141.471, 4763927.145, 0, 0)  
+     (  487220.344, 4763712.000, 0, 0)  
+
+Shape:19 (Polygon)  nVertices=9, nParts=1
+  Bounds:(  487854.719, 4758279.000, 0, 0)
+      to (  488518.085, 4758475.003, 0, 0)
+     (  487854.719, 4758404.000, 0, 0) Ring 
+     (  487882.875, 4758475.003, 0, 0)  
+     (  488183.362, 4758355.845, 0, 0)  
+     (  488341.273, 4758360.840, 0, 0)  
+     (  488515.420, 4758366.919, 0, 0)  
+     (  488518.085, 4758290.583, 0, 0)  
+     (  488343.812, 4758284.500, 0, 0)  
+     (  488169.938, 4758279.000, 0, 0)  
+     (  487854.719, 4758404.000, 0, 0)  
+
+Shape:20 (Polygon)  nVertices=5, nParts=1
+  Bounds:(  486300.557, 4758366.000, 0, 0)
+      to (  486613.245, 4758546.262, 0, 0)
+     (  486327.781, 4758366.000, 0, 0) Ring 
+     (  486300.557, 4758437.366, 0, 0)  
+     (  486586.021, 4758546.262, 0, 0)  
+     (  486613.245, 4758474.896, 0, 0)  
+     (  486327.781, 4758366.000, 0, 0)  
+
+Shape:21 (Polygon)  nVertices=5, nParts=1
+  Bounds:(  486709.618, 4758518.000, 0, 0)
+      to (  486949.999, 4758681.145, 0, 0)
+     (  486740.750, 4758518.000, 0, 0) Ring 
+     (  486709.618, 4758587.750, 0, 0)  
+     (  486918.867, 4758681.145, 0, 0)  
+     (  486949.999, 4758611.396, 0, 0)  
+     (  486740.750, 4758518.000, 0, 0)  
+
+Shape:22 (Polygon)  nVertices=5, nParts=1
+  Bounds:(  487325.398, 4757807.034, 0, 0)
+      to (  487555.844, 4758263.402, 0, 0)
+     (  487555.844, 4757833.500, 0, 0) Ring 
+     (  487484.193, 4757807.034, 0, 0)  
+     (  487325.398, 4758236.937, 0, 0)  
+     (  487397.049, 4758263.402, 0, 0)  
+     (  487555.844, 4757833.500, 0, 0)  
+
+Shape:23 (Polygon)  nVertices=5, nParts=1
+  Bounds:(  487255.256, 4758215.573, 0, 0)
+      to (  487387.406, 4758456.611, 0, 0)
+     (  487387.406, 4758235.000, 0, 0) Ring 
+     (  487313.536, 4758215.573, 0, 0)  
+     (  487255.256, 4758437.184, 0, 0)  
+     (  487329.126, 4758456.611, 0, 0)  
+     (  487387.406, 4758235.000, 0, 0)  
+
+Shape:24 (Polygon)  nVertices=5, nParts=1
+  Bounds:(  487248.714, 4758360.500, 0, 0)
+      to (  487559.687, 4758550.761, 0, 0)
+     (  487278.719, 4758360.500, 0, 0) Ring 
+     (  487248.714, 4758430.742, 0, 0)  
+     (  487529.682, 4758550.761, 0, 0)  
+     (  487559.687, 4758480.519, 0, 0)  
+     (  487278.719, 4758360.500, 0, 0)  
+
+Shape:25 (Polygon)  nVertices=5, nParts=1
+  Bounds:(  487573.994, 4758496.500, 0, 0)
+      to (  487815.502, 4758644.603, 0, 0)
+     (  487599.344, 4758496.500, 0, 0) Ring 
+     (  487573.994, 4758568.553, 0, 0)  
+     (  487790.152, 4758644.603, 0, 0)  
+     (  487815.502, 4758572.550, 0, 0)  
+     (  487599.344, 4758496.500, 0, 0)  
+-------------------------------------------------------------------------
+Test 2: dump brklinz.shp
+-------------------------------------------------------------------------
+Shapefile Type: ArcZ   # of Shapes: 122
+
+File Bounds: ( 6294338.260, 1978444.010,0,0)
+         to  ( 6296321.860, 1979694.450,0,0)
+
+Shape:0 (ArcZ)  nVertices=92, nParts=1
+  Bounds:( 6294700.210, 1978579.390, 818.64, 0)
+      to ( 6295395.930, 1979050.330, 917.86, 0)
+     ( 6295372.750, 1978755.830, 823.06, 0) Ring 
+     ( 6295366.170, 1978739.190, 826.58, 0)  
+     ( 6295360.400, 1978718.540, 829.2, 0)  
+     ( 6295352.620, 1978697.000, 832.22, 0)  
+     ( 6295345.960, 1978677.040, 834.64, 0)  
+     ( 6295339.690, 1978656.810, 838.51, 0)  
+     ( 6295335.040, 1978637.600, 840.94, 0)  
+     ( 6295331.080, 1978621.450, 844.48, 0)  
+     ( 6295324.350, 1978607.940, 847.04, 0)  
+     ( 6295313.370, 1978598.450, 850.38, 0)  
+     ( 6295296.780, 1978594.950, 853.27, 0)  
+     ( 6295273.800, 1978594.990, 858.06, 0)  
+     ( 6295251.750, 1978595.380, 861.53, 0)  
+     ( 6295232.340, 1978598.400, 864.22, 0)  
+     ( 6295206.740, 1978606.390, 866.38, 0)  
+     ( 6295180.610, 1978616.970, 868.15, 0)  
+     ( 6295156.350, 1978630.540, 870.65, 0)  
+     ( 6295132.270, 1978645.210, 872.02, 0)  
+     ( 6295111.070, 1978659.740, 875.17, 0)  
+     ( 6295090.030, 1978674.920, 878.84, 0)  
+     ( 6295071.060, 1978689.340, 882.06, 0)  
+     ( 6295051.900, 1978705.080, 886.98, 0)  
+     ( 6295036.460, 1978719.260, 889.66, 0)  
+     ( 6295023.620, 1978732.910, 893.53, 0)  
+     ( 6295010.450, 1978750.380, 895.24, 0)  
+     ( 6294999.910, 1978767.850, 897.47, 0)  
+     ( 6294989.810, 1978783.860, 900.29, 0)  
+     ( 6294975.040, 1978795.570, 902.45, 0)  
+     ( 6294956.300, 1978806.830, 906.32, 0)  
+     ( 6294937.260, 1978814.620, 909.21, 0)  
+     ( 6294919.240, 1978821.960, 912.88, 0)  
+     ( 6294897.040, 1978832.210, 915.04, 0)  
+     ( 6294878.070, 1978844.070, 916.49, 0)  
+     ( 6294865.010, 1978855.820, 917.34, 0)  
+     ( 6294859.560, 1978870.150, 916.81, 0)  
+     ( 6294861.520, 1978882.920, 916.62, 0)  
+     ( 6294874.640, 1978906.220, 917.86, 0)  
+     ( 6294886.980, 1978926.880, 917.6, 0)  
+     ( 6294889.630, 1978953.270, 917.54, 0)  
+     ( 6294888.520, 1978978.280, 916.88, 0)  
+     ( 6294880.350, 1978998.390, 915.96, 0)  
+     ( 6294866.540, 1979018.920, 915.57, 0)  
+     ( 6294843.270, 1979039.140, 915.57, 0)  
+     ( 6294812.250, 1979049.040, 915.96, 0)  
+     ( 6294777.640, 1979050.330, 916.75, 0)  
+     ( 6294752.060, 1979040.520, 916.68, 0)  
+     ( 6294730.990, 1979028.850, 916.62, 0)  
+     ( 6294716.690, 1979008.420, 916.62, 0)  
+     ( 6294706.050, 1978987.490, 916.95, 0)  
+     ( 6294700.210, 1978965.390, 916.95, 0)  
+     ( 6294700.520, 1978937.670, 917.01, 0)  
+     ( 6294712.060, 1978911.340, 916.95, 0)  
+     ( 6294724.820, 1978893.560, 916.62, 0)  
+     ( 6294741.630, 1978878.010, 916.36, 0)  
+     ( 6294759.360, 1978865.090, 916.36, 0)  
+     ( 6294777.650, 1978855.370, 916.22, 0)  
+     ( 6294807.570, 1978846.970, 916.36, 0)  
+     ( 6294837.640, 1978836.590, 916.55, 0)  
+     ( 6294858.650, 1978831.390, 916.29, 0)  
+     ( 6294878.860, 1978825.840, 915.37, 0)  
+     ( 6294897.630, 1978817.860, 913.67, 0)  
+     ( 6294914.550, 1978809.520, 910.78, 0)  
+     ( 6294932.380, 1978798.580, 907.17, 0)  
+     ( 6294947.360, 1978788.370, 904.42, 0)  
+     ( 6294960.500, 1978778.120, 901.86, 0)  
+     ( 6294974.780, 1978761.900, 898.78, 0)  
+     ( 6294988.510, 1978747.610, 895.7, 0)  
+     ( 6295005.230, 1978730.220, 892.81, 0)  
+     ( 6295023.560, 1978713.470, 889.34, 0)  
+     ( 6295043.310, 1978696.320, 885.07, 0)  
+     ( 6295061.830, 1978680.810, 881.47, 0)  
+     ( 6295080.970, 1978664.550, 877.79, 0)  
+     ( 6295104.570, 1978648.190, 874.58, 0)  
+     ( 6295126.310, 1978633.890, 872.09, 0)  
+     ( 6295149.840, 1978618.720, 869.6, 0)  
+     ( 6295173.840, 1978605.030, 867.37, 0)  
+     ( 6295198.110, 1978594.150, 866.12, 0)  
+     ( 6295222.830, 1978586.990, 865.2, 0)  
+     ( 6295243.030, 1978583.810, 863.5, 0)  
+     ( 6295268.110, 1978581.290, 860.35, 0)  
+     ( 6295291.530, 1978579.390, 856.48, 0)  
+     ( 6295313.200, 1978582.040, 852.42, 0)  
+     ( 6295329.170, 1978591.410, 848.81, 0)  
+     ( 6295339.780, 1978603.880, 845.07, 0)  
+     ( 6295345.640, 1978621.110, 842.12, 0)  
+     ( 6295351.070, 1978642.970, 838.32, 0)  
+     ( 6295357.250, 1978666.560, 834.77, 0)  
+     ( 6295367.290, 1978691.000, 831.89, 0)  
+     ( 6295376.030, 1978718.470, 828.09, 0)  
+     ( 6295383.930, 1978744.860, 824.35, 0)  
+     ( 6295389.990, 1978768.720, 821.33, 0)  
+     ( 6295395.930, 1978790.090, 818.64, 0)  
+
+Shape:1 (ArcZ)  nVertices=9, nParts=1
+  Bounds:( 6295218.470, 1978444.010, 864.55, 0)
+      to ( 6295330.760, 1978581.880, 882.45, 0)
+     ( 6295330.760, 1978444.010, 882.45, 0) Ring 
+     ( 6295306.050, 1978461.190, 880.94, 0)  
+     ( 6295280.210, 1978482.710, 878.52, 0)  
+     ( 6295258.180, 1978504.050, 875.89, 0)  
+     ( 6295239.910, 1978524.670, 871.89, 0)  
+     ( 6295225.650, 1978546.540, 869.53, 0)  
+     ( 6295218.470, 1978565.550, 866.97, 0)  
+     ( 6295223.960, 1978575.510, 865.27, 0)  
+     ( 6295230.580, 1978581.880, 864.55, 0)  
+
+Shape:2 (ArcZ)  nVertices=10, nParts=1
+  Bounds:( 6295199.220, 1978444.010, 866.32, 0)
+      to ( 6295309.040, 1978588.800, 882.08, 0)
+     ( 6295200.070, 1978588.800, 866.32, 0) Ring 
+     ( 6295199.220, 1978571.840, 867.24, 0)  
+     ( 6295200.770, 1978555.740, 868.88, 0)  
+     ( 6295207.890, 1978538.040, 869.86, 0)  
+     ( 6295223.020, 1978520.530, 870.84, 0)  
+     ( 6295239.450, 1978502.440, 874.06, 0)  
+     ( 6295258.050, 1978483.440, 876.48, 0)  
+     ( 6295268.990, 1978473.760, 879.17, 0)  
+     ( 6295285.710, 1978461.560, 880.55, 0)  
+     ( 6295309.040, 1978444.010, 882.08, 0)  
+
+Shape:3 (ArcZ)  nVertices=5, nParts=1
+  Bounds:( 6294340.890, 1979449.280, 1031.78, 0)
+      to ( 6294394.080, 1979522.030, 1039.78, 0)
+     ( 6294394.080, 1979449.280, 1039.78, 0) Ring 
+     ( 6294378.800, 1979469.230, 1038.73, 0)  
+     ( 6294364.980, 1979486.740, 1037.28, 0)  
+     ( 6294350.800, 1979504.980, 1035.12, 0)  
+     ( 6294340.890, 1979522.030, 1031.78, 0)  
+
+Shape:4 (ArcZ)  nVertices=6, nParts=1
+  Bounds:( 6294344.380, 1979583.450, 1008.04, 0)
+      to ( 6294354.670, 1979678.070, 1023.45, 0)
+     ( 6294344.380, 1979583.450, 1023.45, 0) Ring 
+     ( 6294348.050, 1979601.580, 1019.18, 0)  
+     ( 6294349.570, 1979621.200, 1016.5, 0)  
+     ( 6294351.990, 1979637.890, 1012.95, 0)  
+     ( 6294353.090, 1979657.140, 1011.51, 0)  
+     ( 6294354.670, 1979678.070, 1008.04, 0)  
+
+Shape:5 (ArcZ)  nVertices=3, nParts=1
+  Bounds:( 6294338.260, 1979628.600, 1008.63, 0)
+      to ( 6294341.080, 1979674.100, 1015.71, 0)
+     ( 6294341.080, 1979674.100, 1008.63, 0) Ring 
+     ( 6294339.460, 1979649.880, 1011.71, 0)  
+     ( 6294338.260, 1979628.600, 1015.71, 0)  
+
+Shape:6 (ArcZ)  nVertices=3, nParts=1
+  Bounds:( 6294350.160, 1979437.980, 1038.6, 0)
+      to ( 6294379.980, 1979476.720, 1040.1, 0)
+     ( 6294350.160, 1979476.720, 1038.6, 0) Ring 
+     ( 6294368.100, 1979454.860, 1040.1, 0)  
+     ( 6294379.980, 1979437.980, 1039.32, 0)  
+
+Shape:7 (ArcZ)  nVertices=39, nParts=1
+  Bounds:( 6295371.530, 1978758.160, 754.11, 0)
+      to ( 6295534.560, 1979677.750, 823.3, 0)
+     ( 6295534.560, 1979677.750, 779.95, 0) Ring 
+     ( 6295534.380, 1979648.150, 778.57, 0)  
+     ( 6295534.480, 1979605.990, 775.16, 0)  
+     ( 6295533.970, 1979577.580, 772.21, 0)  
+     ( 6295532.310, 1979547.260, 768.41, 0)  
+     ( 6295532.970, 1979521.290, 763.82, 0)  
+     ( 6295532.390, 1979496.890, 759.1, 0)  
+     ( 6295532.940, 1979474.010, 755.49, 0)  
+     ( 6295533.680, 1979452.180, 754.11, 0)  
+     ( 6295533.850, 1979434.640, 754.11, 0)  
+     ( 6295532.170, 1979409.180, 755.75, 0)  
+     ( 6295531.580, 1979384.450, 758.7, 0)  
+     ( 6295531.590, 1979356.090, 760.28, 0)  
+     ( 6295530.190, 1979325.690, 761.13, 0)  
+     ( 6295530.020, 1979291.090, 761.66, 0)  
+     ( 6295529.210, 1979259.420, 762.7, 0)  
+     ( 6295526.250, 1979221.610, 762.77, 0)  
+     ( 6295524.260, 1979187.500, 763.75, 0)  
+     ( 6295522.640, 1979155.350, 764.61, 0)  
+     ( 6295521.540, 1979123.230, 765.33, 0)  
+     ( 6295518.460, 1979096.000, 765.92, 0)  
+     ( 6295511.670, 1979081.110, 767.16, 0)  
+     ( 6295500.700, 1979064.060, 768.41, 0)  
+     ( 6295489.330, 1979049.600, 770.11, 0)  
+     ( 6295475.500, 1979033.100, 773.07, 0)  
+     ( 6295462.530, 1979018.190, 775.16, 0)  
+     ( 6295447.760, 1979001.400, 779.49, 0)  
+     ( 6295433.380, 1978984.530, 782.9, 0)  
+     ( 6295419.040, 1978965.820, 785.92, 0)  
+     ( 6295409.020, 1978946.820, 790.58, 0)  
+     ( 6295399.860, 1978923.910, 795.1, 0)  
+     ( 6295391.010, 1978894.410, 800.94, 0)  
+     ( 6295387.440, 1978875.550, 805.53, 0)  
+     ( 6295382.030, 1978849.030, 809.79, 0)  
+     ( 6295382.190, 1978828.930, 813.33, 0)  
+     ( 6295383.570, 1978809.290, 817.4, 0)  
+     ( 6295380.880, 1978789.860, 819.69, 0)  
+     ( 6295375.630, 1978771.810, 822.58, 0)  
+     ( 6295371.530, 1978758.160, 823.3, 0)  
+
+Shape:8 (ArcZ)  nVertices=35, nParts=1
+  Bounds:( 6295396.480, 1978794.780, 753.98, 0)
+      to ( 6295549.010, 1979670.060, 818.58, 0)
+     ( 6295396.620, 1978794.780, 818.58, 0) Ring 
+     ( 6295397.330, 1978816.670, 815.76, 0)  
+     ( 6295396.480, 1978836.150, 812.22, 0)  
+     ( 6295397.670, 1978857.110, 807.95, 0)  
+     ( 6295401.180, 1978874.720, 804.61, 0)  
+     ( 6295406.260, 1978897.320, 799.95, 0)  
+     ( 6295413.580, 1978919.930, 794.77, 0)  
+     ( 6295421.330, 1978938.190, 790.31, 0)  
+     ( 6295431.450, 1978956.590, 786.51, 0)  
+     ( 6295444.950, 1978974.360, 782.38, 0)  
+     ( 6295461.420, 1978993.620, 777.66, 0)  
+     ( 6295479.760, 1979013.510, 773.26, 0)  
+     ( 6295494.630, 1979032.330, 771.1, 0)  
+     ( 6295510.990, 1979052.120, 767.69, 0)  
+     ( 6295524.170, 1979071.090, 766.84, 0)  
+     ( 6295532.180, 1979091.890, 765.33, 0)  
+     ( 6295536.530, 1979120.830, 764.8, 0)  
+     ( 6295537.480, 1979150.200, 764.08, 0)  
+     ( 6295539.470, 1979189.490, 763.43, 0)  
+     ( 6295541.670, 1979230.490, 762.64, 0)  
+     ( 6295541.760, 1979271.330, 761.79, 0)  
+     ( 6295543.650, 1979306.300, 761.46, 0)  
+     ( 6295544.470, 1979335.540, 760.47, 0)  
+     ( 6295544.960, 1979363.490, 759.23, 0)  
+     ( 6295545.620, 1979392.020, 757.13, 0)  
+     ( 6295546.340, 1979419.430, 754.9, 0)  
+     ( 6295547.120, 1979439.940, 753.98, 0)  
+     ( 6295546.510, 1979459.150, 754.38, 0)  
+     ( 6295545.460, 1979482.710, 757.66, 0)  
+     ( 6295545.530, 1979507.330, 761.13, 0)  
+     ( 6295545.610, 1979532.470, 765.59, 0)  
+     ( 6295546.490, 1979565.520, 770.44, 0)  
+     ( 6295547.960, 1979597.100, 775.03, 0)  
+     ( 6295548.990, 1979628.040, 777.26, 0)  
+     ( 6295549.010, 1979670.060, 780.15, 0)  
+
+Shape:9 (ArcZ)  nVertices=45, nParts=1
+  Bounds:( 6295694.040, 1978444.010, 696.95, 0)
+      to ( 6296208.790, 1979687.080, 787.43, 0)
+     ( 6295698.400, 1979687.080, 787.43, 0) Ring 
+     ( 6295694.040, 1979670.950, 786.31, 0)  
+     ( 6295696.410, 1979650.280, 785.13, 0)  
+     ( 6295700.080, 1979634.530, 784.8, 0)  
+     ( 6295704.080, 1979620.010, 784.15, 0)  
+     ( 6295708.420, 1979601.930, 782.44, 0)  
+     ( 6295711.230, 1979584.790, 781.99, 0)  
+     ( 6295712.060, 1979564.780, 780.8, 0)  
+     ( 6295710.550, 1979537.480, 779.69, 0)  
+     ( 6295711.290, 1979508.020, 777.59, 0)  
+     ( 6295710.010, 1979477.420, 776.08, 0)  
+     ( 6295709.300, 1979442.530, 773.59, 0)  
+     ( 6295709.160, 1979413.640, 772.21, 0)  
+     ( 6295707.090, 1979372.570, 769.46, 0)  
+     ( 6295708.140, 1979336.210, 767.49, 0)  
+     ( 6295709.710, 1979297.130, 764.67, 0)  
+     ( 6295710.960, 1979272.310, 763.29, 0)  
+     ( 6295714.640, 1979241.200, 761.2, 0)  
+     ( 6295719.050, 1979211.560, 759.82, 0)  
+     ( 6295724.280, 1979179.840, 758.31, 0)  
+     ( 6295729.460, 1979152.460, 756.74, 0)  
+     ( 6295735.770, 1979126.530, 754.44, 0)  
+     ( 6295744.970, 1979095.400, 752.87, 0)  
+     ( 6295755.820, 1979063.140, 750.31, 0)  
+     ( 6295767.590, 1979028.330, 747.62, 0)  
+     ( 6295782.240, 1978993.450, 744.21, 0)  
+     ( 6295801.580, 1978952.420, 741.26, 0)  
+     ( 6295825.730, 1978905.370, 736.87, 0)  
+     ( 6295842.330, 1978877.810, 734.7, 0)  
+     ( 6295859.110, 1978851.150, 731.55, 0)  
+     ( 6295875.620, 1978827.010, 729.52, 0)  
+     ( 6295899.080, 1978794.830, 727.42, 0)  
+     ( 6295923.640, 1978763.720, 724.34, 0)  
+     ( 6295949.340, 1978734.180, 721.39, 0)  
+     ( 6295975.020, 1978704.320, 718.57, 0)  
+     ( 6296000.320, 1978677.440, 716.01, 0)  
+     ( 6296026.940, 1978648.120, 713.45, 0)  
+     ( 6296053.500, 1978617.500, 709.78, 0)  
+     ( 6296078.620, 1978589.630, 706.9, 0)  
+     ( 6296098.880, 1978566.880, 704.47, 0)  
+     ( 6296126.050, 1978537.930, 702.37, 0)  
+     ( 6296150.670, 1978507.990, 700.14, 0)  
+     ( 6296179.280, 1978476.280, 698.7, 0)  
+     ( 6296208.030, 1978444.880, 696.99, 0)  
+     ( 6296208.790, 1978444.010, 696.95, 0)  
+
+Shape:10 (ArcZ)  nVertices=10, nParts=1
+  Bounds:( 6296270.060, 1979014.970, 712.54, 0)
+      to ( 6296315.990, 1979152.310, 725.13, 0)
+     ( 6296306.110, 1979152.310, 725.13, 0) Ring 
+     ( 6296288.270, 1979139.690, 723.42, 0)  
+     ( 6296276.630, 1979122.410, 721.98, 0)  
+     ( 6296270.060, 1979101.470, 719.95, 0)  
+     ( 6296270.390, 1979084.580, 719.36, 0)  
+     ( 6296275.110, 1979068.970, 717.26, 0)  
+     ( 6296284.280, 1979052.820, 716.41, 0)  
+     ( 6296294.680, 1979040.410, 715.49, 0)  
+     ( 6296305.720, 1979027.370, 713.59, 0)  
+     ( 6296315.990, 1979014.970, 712.54, 0)  
+
+Shape:11 (ArcZ)  nVertices=18, nParts=1
+  Bounds:( 6296044.930, 1978451.120, 690.11, 0)
+      to ( 6296312.920, 1978679.190, 713.72, 0)
+     ( 6296312.920, 1978493.560, 690.11, 0) Ring 
+     ( 6296301.160, 1978479.050, 690.9, 0)  
+     ( 6296287.840, 1978464.950, 692.4, 0)  
+     ( 6296276.430, 1978454.890, 693.58, 0)  
+     ( 6296262.580, 1978451.120, 694.44, 0)  
+     ( 6296249.650, 1978452.500, 694.9, 0)  
+     ( 6296237.110, 1978461.670, 696.08, 0)  
+     ( 6296223.600, 1978477.650, 697.78, 0)  
+     ( 6296209.320, 1978493.930, 698.7, 0)  
+     ( 6296193.640, 1978511.140, 699.16, 0)  
+     ( 6296176.980, 1978529.710, 700.6, 0)  
+     ( 6296157.700, 1978550.970, 701.98, 0)  
+     ( 6296136.720, 1978574.950, 703.49, 0)  
+     ( 6296121.400, 1978591.550, 705.39, 0)  
+     ( 6296102.290, 1978613.590, 707.36, 0)  
+     ( 6296084.440, 1978634.580, 709.13, 0)  
+     ( 6296065.890, 1978654.760, 711.29, 0)  
+     ( 6296044.930, 1978679.190, 713.72, 0)  
+
+Shape:12 (ArcZ)  nVertices=71, nParts=1
+  Bounds:( 6295741.070, 1978679.190, 713.72, 0)
+      to ( 6296321.860, 1979680.370, 813.79, 0)
+     ( 6296044.930, 1978679.190, 713.72, 0) Ring 
+     ( 6296025.660, 1978700.780, 716.6, 0)  
+     ( 6296006.480, 1978721.510, 718.37, 0)  
+     ( 6295987.070, 1978742.720, 721, 0)  
+     ( 6295970.410, 1978761.420, 722.44, 0)  
+     ( 6295953.490, 1978780.070, 724.28, 0)  
+     ( 6295932.470, 1978805.820, 726.44, 0)  
+     ( 6295913.490, 1978830.550, 728.67, 0)  
+     ( 6295896.490, 1978855.310, 731.16, 0)  
+     ( 6295881.220, 1978878.070, 733.39, 0)  
+     ( 6295867.710, 1978899.180, 734.7, 0)  
+     ( 6295853.950, 1978923.310, 737, 0)  
+     ( 6295839.810, 1978950.030, 739.56, 0)  
+     ( 6295825.270, 1978979.390, 742.11, 0)  
+     ( 6295809.100, 1979015.600, 745.46, 0)  
+     ( 6295796.940, 1979045.170, 748.02, 0)  
+     ( 6295785.770, 1979078.900, 750.97, 0)  
+     ( 6295777.080, 1979104.550, 752.54, 0)  
+     ( 6295768.950, 1979133.460, 754.84, 0)  
+     ( 6295762.170, 1979163.090, 756.87, 0)  
+     ( 6295755.640, 1979194.930, 758.9, 0)  
+     ( 6295750.610, 1979225.390, 760.48, 0)  
+     ( 6295746.300, 1979259.750, 762.64, 0)  
+     ( 6295743.320, 1979291.750, 764.54, 0)  
+     ( 6295741.650, 1979321.060, 766.64, 0)  
+     ( 6295741.070, 1979353.790, 768.54, 0)  
+     ( 6295741.170, 1979384.450, 770.71, 0)  
+     ( 6295742.010, 1979419.210, 772.48, 0)  
+     ( 6295743.010, 1979454.740, 774.44, 0)  
+     ( 6295743.910, 1979493.310, 776.94, 0)  
+     ( 6295744.990, 1979530.290, 778.97, 0)  
+     ( 6295745.900, 1979569.120, 781.46, 0)  
+     ( 6295745.940, 1979603.910, 783.3, 0)  
+     ( 6295747.600, 1979636.660, 785.85, 0)  
+     ( 6295751.850, 1979653.260, 787.49, 0)  
+     ( 6295760.490, 1979665.820, 788.87, 0)  
+     ( 6295773.510, 1979673.830, 790.18, 0)  
+     ( 6295788.460, 1979676.100, 791.95, 0)  
+     ( 6295823.990, 1979674.960, 793.46, 0)  
+     ( 6295871.620, 1979674.070, 796.94, 0)  
+     ( 6295918.980, 1979673.120, 798.97, 0)  
+     ( 6295971.200, 1979672.130, 802.25, 0)  
+     ( 6296019.370, 1979671.600, 803.95, 0)  
+     ( 6296054.350, 1979670.030, 805.92, 0)  
+     ( 6296074.580, 1979662.250, 806.58, 0)  
+     ( 6296085.660, 1979647.700, 806.97, 0)  
+     ( 6296089.370, 1979635.300, 807.69, 0)  
+     ( 6296086.380, 1979620.160, 808.61, 0)  
+     ( 6296080.060, 1979601.690, 810.32, 0)  
+     ( 6296074.440, 1979583.990, 811.17, 0)  
+     ( 6296070.250, 1979568.770, 812.22, 0)  
+     ( 6296072.470, 1979552.830, 812.94, 0)  
+     ( 6296083.220, 1979536.790, 813.46, 0)  
+     ( 6296102.650, 1979531.410, 813.79, 0)  
+     ( 6296121.290, 1979536.450, 813.73, 0)  
+     ( 6296133.190, 1979548.520, 813.2, 0)  
+     ( 6296138.010, 1979563.380, 812.61, 0)  
+     ( 6296135.460, 1979580.580, 811.37, 0)  
+     ( 6296129.950, 1979598.850, 810.18, 0)  
+     ( 6296124.490, 1979618.170, 809.46, 0)  
+     ( 6296122.100, 1979635.880, 808.35, 0)  
+     ( 6296126.820, 1979651.410, 807.36, 0)  
+     ( 6296136.390, 1979661.360, 806.51, 0)  
+     ( 6296149.630, 1979666.080, 806.05, 0)  
+     ( 6296163.380, 1979667.880, 805.73, 0)  
+     ( 6296186.080, 1979667.460, 805.14, 0)  
+     ( 6296215.190, 1979666.580, 805, 0)  
+     ( 6296247.690, 1979667.830, 803.5, 0)  
+     ( 6296273.580, 1979670.850, 802.32, 0)  
+     ( 6296295.410, 1979674.090, 800.68, 0)  
+     ( 6296321.860, 1979680.370, 799.23, 0)  
+
+Shape:13 (ArcZ)  nVertices=6, nParts=1
+  Bounds:( 6295372.650, 1979608.700, 773.19, 0)
+      to ( 6295470.330, 1979679.550, 780.15, 0)
+     ( 6295372.650, 1979679.550, 780.15, 0) Ring 
+     ( 6295387.140, 1979664.770, 777.85, 0)  
+     ( 6295406.650, 1979645.400, 776.21, 0)  
+     ( 6295422.760, 1979631.580, 775.29, 0)  
+     ( 6295442.800, 1979612.190, 773.65, 0)  
+     ( 6295470.330, 1979608.700, 773.19, 0)  
+
+Shape:14 (ArcZ)  nVertices=7, nParts=1
+  Bounds:( 6295415.710, 1979491.540, 772.08, 0)
+      to ( 6295453.550, 1979590.190, 773.85, 0)
+     ( 6295453.550, 1979590.110, 772.09, 0) Ring 
+     ( 6295453.110, 1979590.190, 772.08, 0)  
+     ( 6295439.430, 1979579.260, 772.74, 0)  
+     ( 6295430.870, 1979552.770, 772.93, 0)  
+     ( 6295420.940, 1979527.860, 773.19, 0)  
+     ( 6295415.710, 1979510.070, 773.79, 0)  
+     ( 6295421.080, 1979491.540, 773.85, 0)  
+
+Shape:15 (ArcZ)  nVertices=9, nParts=1
+  Bounds:( 6295351.240, 1979521.410, 773, 0)
+      to ( 6295430.330, 1979692.520, 782.11, 0)
+     ( 6295395.270, 1979521.410, 774.51, 0) Ring 
+     ( 6295415.880, 1979549.790, 773.85, 0)  
+     ( 6295426.030, 1979579.220, 773, 0)  
+     ( 6295430.330, 1979604.610, 773.06, 0)  
+     ( 6295418.610, 1979622.140, 774.31, 0)  
+     ( 6295398.970, 1979639.020, 776.34, 0)  
+     ( 6295382.220, 1979655.690, 778.31, 0)  
+     ( 6295365.040, 1979674.420, 780.15, 0)  
+     ( 6295351.240, 1979692.520, 782.11, 0)  
+
+Shape:16 (ArcZ)  nVertices=28, nParts=1
+  Bounds:( 6294520.270, 1979256.990, 932.36, 0)
+      to ( 6294743.290, 1979675.030, 1016.69, 0)
+     ( 6294531.940, 1979675.030, 932.36, 0) Ring 
+     ( 6294523.870, 1979650.550, 933.54, 0)  
+     ( 6294520.270, 1979620.920, 936.75, 0)  
+     ( 6294525.030, 1979592.840, 940.29, 0)  
+     ( 6294533.880, 1979567.770, 942.98, 0)  
+     ( 6294546.040, 1979543.320, 949.28, 0)  
+     ( 6294564.140, 1979524.750, 951.64, 0)  
+     ( 6294585.590, 1979515.130, 956.36, 0)  
+     ( 6294611.810, 1979503.890, 959.38, 0)  
+     ( 6294635.130, 1979494.900, 966.2, 0)  
+     ( 6294662.590, 1979487.470, 969.41, 0)  
+     ( 6294687.540, 1979482.070, 971.77, 0)  
+     ( 6294710.180, 1979470.160, 976.75, 0)  
+     ( 6294732.150, 1979450.140, 978.53, 0)  
+     ( 6294743.290, 1979431.460, 981.94, 0)  
+     ( 6294738.700, 1979402.930, 984.69, 0)  
+     ( 6294731.290, 1979380.980, 986.79, 0)  
+     ( 6294717.670, 1979358.290, 988.3, 0)  
+     ( 6294706.340, 1979342.050, 991.38, 0)  
+     ( 6294697.140, 1979315.920, 996.76, 0)  
+     ( 6294696.360, 1979292.580, 1000.17, 0)  
+     ( 6294691.930, 1979275.010, 1002.4, 0)  
+     ( 6294681.970, 1979259.950, 1004.76, 0)  
+     ( 6294665.150, 1979256.990, 1006.53, 0)  
+     ( 6294638.580, 1979258.930, 1010.33, 0)  
+     ( 6294617.350, 1979259.730, 1012.76, 0)  
+     ( 6294592.000, 1979262.260, 1015.32, 0)  
+     ( 6294572.550, 1979262.000, 1016.69, 0)  
+
+Shape:17 (ArcZ)  nVertices=43, nParts=1
+  Bounds:( 6294466.100, 1979253.610, 930.98, 0)
+      to ( 6294720.520, 1979678.410, 1018.46, 0)
+     ( 6294572.550, 1979262.000, 1016.69, 0) Ring 
+     ( 6294549.640, 1979260.720, 1017.48, 0)  
+     ( 6294522.440, 1979260.520, 1017.48, 0)  
+     ( 6294472.060, 1979253.610, 1016.63, 0)  
+     ( 6294469.530, 1979302.330, 1017.15, 0)  
+     ( 6294466.100, 1979341.240, 1016.63, 0)  
+     ( 6294469.480, 1979374.290, 1016.5, 0)  
+     ( 6294506.640, 1979382.010, 1016.96, 0)  
+     ( 6294538.320, 1979377.390, 1016.89, 0)  
+     ( 6294581.400, 1979377.510, 1017.74, 0)  
+     ( 6294603.050, 1979366.770, 1017.74, 0)  
+     ( 6294597.820, 1979338.470, 1018, 0)  
+     ( 6294587.060, 1979307.490, 1018.46, 0)  
+     ( 6294579.280, 1979283.460, 1017.87, 0)  
+     ( 6294593.320, 1979278.020, 1016.36, 0)  
+     ( 6294613.160, 1979275.640, 1013.15, 0)  
+     ( 6294634.390, 1979274.630, 1009.54, 0)  
+     ( 6294650.590, 1979272.960, 1006.4, 0)  
+     ( 6294666.970, 1979274.830, 1003.77, 0)  
+     ( 6294675.710, 1979289.290, 1001.81, 0)  
+     ( 6294681.310, 1979309.230, 998.13, 0)  
+     ( 6294686.190, 1979327.900, 995.64, 0)  
+     ( 6294692.280, 1979346.960, 991.64, 0)  
+     ( 6294699.730, 1979367.200, 989.08, 0)  
+     ( 6294709.530, 1979384.310, 985.74, 0)  
+     ( 6294716.160, 1979401.370, 983.25, 0)  
+     ( 6294720.520, 1979414.810, 980.1, 0)  
+     ( 6294718.980, 1979441.480, 978, 0)  
+-------------------------------------------------------------------------
+Test 3: dump polygon.shp
+-------------------------------------------------------------------------
+Shapefile Type: Polygon   # of Shapes: 474
+
+File Bounds: (  471127.188, 4751545.000,0,0)
+         to  (  489292.312, 4765610.500,0,0)
+
+Shape:0 (Polygon)  nVertices=20, nParts=1
+  Bounds:(  479647.000, 4764856.500, 0, 0)
+      to (  480389.688, 4765610.500, 0, 0)
+     (  479819.844, 4765180.500, 0, 0) Ring 
+     (  479690.188, 4765259.500, 0, 0)  
+     (  479647.000, 4765369.500, 0, 0)  
+     (  479730.375, 4765400.500, 0, 0)  
+     (  480039.031, 4765539.500, 0, 0)  
+     (  480035.344, 4765558.500, 0, 0)  
+     (  480159.781, 4765610.500, 0, 0)  
+     (  480202.281, 4765482.000, 0, 0)  
+     (  480365.000, 4765015.500, 0, 0)  
+     (  480389.688, 4764950.000, 0, 0)  
+     (  480133.969, 4764856.500, 0, 0)  
+     (  480080.281, 4764979.500, 0, 0)  
+     (  480082.969, 4765049.500, 0, 0)  
+     (  480088.812, 4765139.500, 0, 0)  
+     (  480059.906, 4765239.500, 0, 0)  
+     (  480019.719, 4765319.500, 0, 0)  
+     (  479980.219, 4765409.500, 0, 0)  
+     (  479909.875, 4765370.000, 0, 0)  
+     (  479859.875, 4765270.000, 0, 0)  
+     (  479819.844, 4765180.500, 0, 0)  
+
+Shape:1 (Polygon)  nVertices=20, nParts=1
+  Bounds:(  479014.938, 4764879.000, 0, 0)
+      to (  480039.031, 4765558.500, 0, 0)
+     (  480035.344, 4765558.500, 0, 0) Ring 
+     (  480039.031, 4765539.500, 0, 0)  
+     (  479730.375, 4765400.500, 0, 0)  
+     (  479647.000, 4765369.500, 0, 0)  
+     (  479690.188, 4765259.500, 0, 0)  
+     (  479819.844, 4765180.500, 0, 0)  
+     (  479779.844, 4765109.500, 0, 0)  
+     (  479681.781, 4764940.000, 0, 0)  
+     (  479468.000, 4764942.500, 0, 0)  
+     (  479411.438, 4764940.500, 0, 0)  
+     (  479353.000, 4764939.500, 0, 0)  
+     (  479208.656, 4764882.500, 0, 0)  
+     (  479196.812, 4764879.000, 0, 0)  
+     (  479123.281, 4765015.000, 0, 0)  
+     (  479046.531, 4765117.000, 0, 0)  
+     (  479029.719, 4765110.500, 0, 0)  
+     (  479014.938, 4765147.500, 0, 0)  
+     (  479149.938, 4765200.500, 0, 0)  
+     (  479639.625, 4765399.500, 0, 0)  
+     (  480035.344, 4765558.500, 0, 0)  
+
+Shape:2 (Polygon)  nVertices=54, nParts=1
+  Bounds:(  480882.688, 4763472.500, 0, 0)
+      to (  484519.969, 4765410.000, 0, 0)
+     (  481575.000, 4764999.500, 0, 0) Ring 
+     (  481542.312, 4765097.500, 0, 0)  
+     (  481443.688, 4765387.500, 0, 0)  
+     (  481499.656, 4765410.000, 0, 0)  
+     (  481631.000, 4765031.000, 0, 0)  
+     (  481693.312, 4764853.000, 0, 0)  
+     (  481759.281, 4764889.500, 0, 0)  
+     (  481860.031, 4764920.000, 0, 0)  
+     (  482002.969, 4764910.000, 0, 0)  
+     (  482180.094, 4764909.500, 0, 0)  
+     (  482359.812, 4764960.000, 0, 0)  
+     (  482510.500, 4765065.000, 0, 0)  
+     (  482619.906, 4765080.500, 0, 0)  
+     (  482809.500, 4765090.000, 0, 0)  
+     (  483189.812, 4765084.500, 0, 0)  
+     (  483330.312, 4765105.500, 0, 0)  
+     (  483591.094, 4765260.000, 0, 0)  
+     (  483700.500, 4765280.000, 0, 0)  
+     (  483799.938, 4765270.000, 0, 0)  
+     (  484039.844, 4765280.500, 0, 0)  
+     (  484115.688, 4765300.000, 0, 0)  
+     (  484120.625, 4765280.000, 0, 0)  
+     (  484131.125, 4765260.000, 0, 0)  
+     (  484167.844, 4765271.000, 0, 0)  
+     (  484277.875, 4765015.500, 0, 0)  
+     (  484455.062, 4764500.000, 0, 0)  
+     (  484519.969, 4764345.000, 0, 0)  
+     (  484482.031, 4764332.000, 0, 0)  
+     (  483904.719, 4764113.500, 0, 0)  
+     (  483334.844, 4763905.000, 0, 0)  
+     (  482941.031, 4763760.500, 0, 0)  
+     (  482590.719, 4763624.500, 0, 0)  
+     (  482185.656, 4763472.500, 0, 0)  
+     (  482009.844, 4763980.500, 0, 0)  
+     (  481960.438, 4764099.500, 0, 0)  
+     (  481767.500, 4764014.500, 0, 0)  
+     (  480955.500, 4763700.000, 0, 0)  
+     (  480882.688, 4763670.000, 0, 0)  
+     (  481039.938, 4763889.500, 0, 0)  
+     (  481130.312, 4763979.500, 0, 0)  
+     (  481143.438, 4764010.500, 0, 0)  
+     (  481199.844, 4764180.000, 0, 0)  
+     (  481141.625, 4764480.500, 0, 0)  
+     (  481140.469, 4764510.500, 0, 0)  
+     (  481159.938, 4764580.000, 0, 0)  
+     (  481185.500, 4764607.000, 0, 0)  
+     (  481199.219, 4764623.500, 0, 0)  
+     (  481209.812, 4764633.500, 0, 0)  
+     (  481235.312, 4764650.000, 0, 0)  
+     (  481635.969, 4764795.500, 0, 0)  
+     (  481645.312, 4764797.500, 0, 0)  
+     (  481629.844, 4764829.500, 0, 0)  
+     (  481602.125, 4764915.500, 0, 0)  
+     (  481575.000, 4764999.500, 0, 0)  
+
+Shape:3 (Polygon)  nVertices=29, nParts=1
+  Bounds:(  479117.812, 4764505.000, 0, 0)
+      to (  480088.812, 4765409.500, 0, 0)
+     (  479819.844, 4765180.500, 0, 0) Ring 
+     (  479859.875, 4765270.000, 0, 0)  
+     (  479909.875, 4765370.000, 0, 0)  
+     (  479980.219, 4765409.500, 0, 0)  
+     (  480019.719, 4765319.500, 0, 0)  
+     (  480059.906, 4765239.500, 0, 0)  
+     (  480088.812, 4765139.500, 0, 0)  
+     (  480082.969, 4765049.500, 0, 0)  
+     (  480000.281, 4765043.000, 0, 0)  
+     (  479934.969, 4765020.000, 0, 0)  
+     (  479895.125, 4765000.000, 0, 0)  
+     (  479734.375, 4764865.000, 0, 0)  
+     (  479680.281, 4764852.000, 0, 0)  
+     (  479644.781, 4764827.500, 0, 0)  
+     (  479637.875, 4764803.000, 0, 0)  
+     (  479617.219, 4764760.000, 0, 0)  
+     (  479587.281, 4764718.000, 0, 0)  
+     (  479548.031, 4764693.500, 0, 0)  
+     (  479504.906, 4764609.500, 0, 0)  
+     (  479239.812, 4764505.000, 0, 0)  
+     (  479117.812, 4764847.000, 0, 0)  
+     (  479196.812, 4764879.000, 0, 0)  
+     (  479208.656, 4764882.500, 0, 0)  
+     (  479353.000, 4764939.500, 0, 0)  
+     (  479411.438, 4764940.500, 0, 0)  
+     (  479468.000, 4764942.500, 0, 0)  
+     (  479681.781, 4764940.000, 0, 0)  
+     (  479779.844, 4765109.500, 0, 0)  
+     (  479819.844, 4765180.500, 0, 0)  
+
+Shape:4 (Polygon)  nVertices=22, nParts=1
+  Bounds:(  480537.156, 4764738.000, 0, 0)
+      to (  481575.000, 4765387.500, 0, 0)
+     (  480537.156, 4765014.000, 0, 0) Ring 
+     (  481090.281, 4765242.000, 0, 0)  
+     (  481443.688, 4765387.500, 0, 0)  
+     (  481542.312, 4765097.500, 0, 0)  
+     (  481575.000, 4764999.500, 0, 0)  
+     (  481538.906, 4764982.500, 0, 0)  
+     (  481509.656, 4764967.000, 0, 0)  
+     (  481457.375, 4764937.000, 0, 0)  
+     (  481465.906, 4764872.500, 0, 0)  
+     (  481291.094, 4764810.000, 0, 0)  
+     (  481281.312, 4764876.500, 0, 0)  
+     (  481136.844, 4764994.500, 0, 0)  
+     (  481088.188, 4764936.000, 0, 0)  
+     (  480984.250, 4764875.000, 0, 0)  
+     (  480930.719, 4764852.000, 0, 0)  
+     (  480922.031, 4764850.500, 0, 0)  
+     (  480824.969, 4764820.000, 0, 0)  
+     (  480761.469, 4764778.000, 0, 0)  
+     (  480701.062, 4764738.000, 0, 0)  
+     (  480605.000, 4764835.000, 0, 0)  
+     (  480567.969, 4764918.000, 0, 0)  
+     (  480537.156, 4765014.000, 0, 0)  
+
+Shape:5 (Polygon)  nVertices=60, nParts=1
+  Bounds:(  484482.031, 4760649.500, 0, 0)
+      to (  488408.281, 4765179.000, 0, 0)
+     (  484482.031, 4764332.000, 0, 0) Ring 
+     (  484519.969, 4764345.000, 0, 0)  
+     (  484817.938, 4764465.500, 0, 0)  
+     (  485615.406, 4764770.000, 0, 0)  
+     (  486269.688, 4765010.000, 0, 0)  
+     (  486320.062, 4765024.000, 0, 0)  
+     (  486340.594, 4765040.000, 0, 0)  
+     (  486369.844, 4765050.000, 0, 0)  
+     (  486719.969, 4765170.000, 0, 0)  
+     (  486738.625, 4765179.000, 0, 0)  
+     (  486987.781, 4764497.500, 0, 0)  
+     (  487019.875, 4764384.500, 0, 0)  
+     (  487077.375, 4764226.500, 0, 0)  
+     (  487120.031, 4764100.000, 0, 0)  
+     (  487160.250, 4763998.000, 0, 0)  
+     (  487186.812, 4763922.500, 0, 0)  
+     (  487408.250, 4763315.500, 0, 0)  
+     (  487608.062, 4762780.000, 0, 0)  
+     (  487659.406, 4762650.000, 0, 0)  
+     (  487719.406, 4762480.000, 0, 0)  
+     (  487741.062, 4762419.500, 0, 0)  
+     (  487747.875, 4762395.500, 0, 0)  
+     (  487880.875, 4762032.000, 0, 0)  
+     (  487899.438, 4761975.500, 0, 0)  
+     (  488082.000, 4761480.000, 0, 0)  
+     (  488408.281, 4760649.500, 0, 0)  
+     (  488050.375, 4760824.500, 0, 0)  
+     (  487690.906, 4760802.000, 0, 0)  
+     (  487640.062, 4760879.500, 0, 0)  
+     (  487594.938, 4761023.000, 0, 0)  
+     (  487341.375, 4761776.500, 0, 0)  
+     (  487037.125, 4761672.500, 0, 0)  
+     (  487005.375, 4761662.500, 0, 0)  
+     (  486788.219, 4761579.500, 0, 0)  
+     (  486822.250, 4761492.000, 0, 0)  
+     (  486838.312, 4761437.500, 0, 0)  
+     (  486841.312, 4761381.000, 0, 0)  
+     (  486850.562, 4761340.000, 0, 0)  
+     (  486810.750, 4761335.500, 0, 0)  
+     (  486775.438, 4761400.000, 0, 0)  
+     (  486710.094, 4761368.000, 0, 0)  
+     (  486606.188, 4761330.000, 0, 0)  
+     (  486548.656, 4761488.000, 0, 0)  
+     (  486380.656, 4761428.500, 0, 0)  
+     (  486152.906, 4761348.000, 0, 0)  
+     (  485900.250, 4761250.500, 0, 0)  
+     (  485666.875, 4761156.500, 0, 0)  
+     (  485585.875, 4761374.500, 0, 0)  
+     (  485564.875, 4761444.500, 0, 0)  
+     (  485496.219, 4761614.500, 0, 0)  
+     (  485438.688, 4761760.500, 0, 0)  
+     (  485264.969, 4762222.500, 0, 0)  
+     (  485192.688, 4762439.000, 0, 0)  
+     (  485175.406, 4762493.500, 0, 0)  
+     (  484947.344, 4763100.500, 0, 0)  
+     (  484888.000, 4763260.500, 0, 0)  
+     (  484785.469, 4763560.500, 0, 0)  
+     (  484760.219, 4763659.500, 0, 0)  
+     (  484696.969, 4763734.000, 0, 0)  
+     (  484482.031, 4764332.000, 0, 0)  
+
+Shape:6 (Polygon)  nVertices=26, nParts=1
+  Bounds:(  478315.531, 4764174.000, 0, 0)
+      to (  479305.875, 4765147.500, 0, 0)
+     (  479014.938, 4765147.500, 0, 0) Ring 
+     (  479029.719, 4765110.500, 0, 0)  
+     (  479117.812, 4764847.000, 0, 0)  
+     (  479239.812, 4764505.000, 0, 0)  
+     (  479305.875, 4764361.000, 0, 0)  
+     (  479256.031, 4764314.500, 0, 0)  
+     (  479220.906, 4764212.500, 0, 0)  
+     (  479114.500, 4764174.000, 0, 0)  
+     (  479018.281, 4764418.500, 0, 0)  
+     (  478896.938, 4764371.000, 0, 0)  
+     (  478748.812, 4764308.500, 0, 0)  
+     (  478503.031, 4764218.000, 0, 0)  
+     (  478461.750, 4764337.500, 0, 0)  
+     (  478443.938, 4764400.500, 0, 0)  
+     (  478447.812, 4764454.000, 0, 0)  
+     (  478448.688, 4764531.500, 0, 0)  
+     (  478502.188, 4764541.500, 0, 0)  
+     (  478683.000, 4764730.500, 0, 0)  
+     (  478621.031, 4764788.500, 0, 0)  
+     (  478597.344, 4764766.500, 0, 0)  
+     (  478532.500, 4764695.500, 0, 0)  
+     (  478460.125, 4764615.000, 0, 0)  
+     (  478408.062, 4764654.000, 0, 0)  
+     (  478315.531, 4764876.000, 0, 0)  
+     (  478889.250, 4765100.000, 0, 0)  
+     (  479014.938, 4765147.500, 0, 0)  
+
+Shape:7 (Polygon)  nVertices=6, nParts=1
+  Bounds:(  479029.719, 4764847.000, 0, 0)
+      to (  479196.812, 4765117.000, 0, 0)
+     (  479029.719, 4765110.500, 0, 0) Ring 
+     (  479046.531, 4765117.000, 0, 0)  
+     (  479123.281, 4765015.000, 0, 0)  
+     (  479196.812, 4764879.000, 0, 0)  
+     (  479117.812, 4764847.000, 0, 0)  
+     (  479029.719, 4765110.500, 0, 0)  
+
+Shape:8 (Polygon)  nVertices=20, nParts=1
+  Bounds:(  479504.906, 4764609.500, 0, 0)
+      to (  480133.969, 4765049.500, 0, 0)
+     (  480082.969, 4765049.500, 0, 0) Ring 
+     (  480080.281, 4764979.500, 0, 0)  
+     (  480133.969, 4764856.500, 0, 0)  
+     (  479968.469, 4764788.000, 0, 0)  
+     (  479750.688, 4764702.000, 0, 0)  
+     (  479735.906, 4764752.000, 0, 0)  
+     (  479640.094, 4764721.000, 0, 0)  
+     (  479658.594, 4764670.000, 0, 0)  
+     (  479504.906, 4764609.500, 0, 0)  
+     (  479548.031, 4764693.500, 0, 0)  
+     (  479587.281, 4764718.000, 0, 0)  
+     (  479617.219, 4764760.000, 0, 0)  
+     (  479637.875, 4764803.000, 0, 0)  
+     (  479644.781, 4764827.500, 0, 0)  
+     (  479680.281, 4764852.000, 0, 0)  
+     (  479734.375, 4764865.000, 0, 0)  
+     (  479895.125, 4765000.000, 0, 0)  
+     (  479934.969, 4765020.000, 0, 0)  
+     (  480000.281, 4765043.000, 0, 0)  
+     (  480082.969, 4765049.500, 0, 0)  
+
+Shape:9 (Polygon)  nVertices=31, nParts=1
+  Bounds:(  479968.469, 4764183.000, 0, 0)
+      to (  480731.656, 4765014.000, 0, 0)
+     (  480389.688, 4764950.000, 0, 0) Ring 
+     (  480537.156, 4765014.000, 0, 0)  
+     (  480567.969, 4764918.000, 0, 0)  
+     (  480605.000, 4764835.000, 0, 0)  
+     (  480701.062, 4764738.000, 0, 0)  
+     (  480710.250, 4764690.500, 0, 0)  
+     (  480588.594, 4764740.500, 0, 0)  
+     (  480540.719, 4764741.000, 0, 0)  
+     (  480515.125, 4764695.000, 0, 0)  
+     (  480731.656, 4764561.500, 0, 0)  
+     (  480692.188, 4764453.500, 0, 0)  
+     (  480677.844, 4764439.000, 0, 0)  
+     (  480655.344, 4764397.500, 0, 0)  
+     (  480584.375, 4764353.000, 0, 0)  
+     (  480500.406, 4764326.500, 0, 0)  
+     (  480358.531, 4764277.000, 0, 0)  
+     (  480192.312, 4764183.000, 0, 0)  
+     (  480157.125, 4764266.500, 0, 0)  
+     (  480234.312, 4764304.000, 0, 0)  
+     (  480289.125, 4764348.500, 0, 0)  
+     (  480316.000, 4764395.000, 0, 0)  
+     (  480343.562, 4764477.000, 0, 0)  
+     (  480343.719, 4764532.500, 0, 0)  
+     (  480258.031, 4764767.000, 0, 0)  
+     (  480177.156, 4764742.000, 0, 0)  
+     (  480093.750, 4764703.000, 0, 0)  
+     (  480011.000, 4764674.500, 0, 0)  
+     (  479985.062, 4764732.000, 0, 0)  
+     (  479968.469, 4764788.000, 0, 0)  
+     (  480133.969, 4764856.500, 0, 0)  
+     (  480389.688, 4764950.000, 0, 0)  
+
+Shape:10 (Polygon)  nVertices=61, nParts=1
+  Bounds:(  479492.688, 4762880.500, 0, 0)
+      to (  481645.312, 4764999.500, 0, 0)
+     (  480701.062, 4764738.000, 0, 0) Ring 
+     (  480761.469, 4764778.000, 0, 0)  
+     (  480824.969, 4764820.000, 0, 0)  
+     (  480922.031, 4764850.500, 0, 0)  
+     (  480930.719, 4764852.000, 0, 0)  
+     (  480984.250, 4764875.000, 0, 0)  
+     (  481088.188, 4764936.000, 0, 0)  
+     (  481136.844, 4764994.500, 0, 0)  
+     (  481281.312, 4764876.500, 0, 0)  
+     (  481291.094, 4764810.000, 0, 0)  
+     (  481465.906, 4764872.500, 0, 0)  
+     (  481457.375, 4764937.000, 0, 0)  
+     (  481509.656, 4764967.000, 0, 0)  
+     (  481538.906, 4764982.500, 0, 0)  
+     (  481575.000, 4764999.500, 0, 0)  
+     (  481602.125, 4764915.500, 0, 0)  
+     (  481629.844, 4764829.500, 0, 0)  
+     (  481645.312, 4764797.500, 0, 0)  
+     (  481635.969, 4764795.500, 0, 0)  
+     (  481235.312, 4764650.000, 0, 0)  
+     (  481209.812, 4764633.500, 0, 0)  
+     (  481199.219, 4764623.500, 0, 0)  
+     (  481185.500, 4764607.000, 0, 0)  
+     (  481159.938, 4764580.000, 0, 0)  
+     (  481140.469, 4764510.500, 0, 0)  
+     (  481141.625, 4764480.500, 0, 0)  
+     (  481199.844, 4764180.000, 0, 0)  
+     (  481143.438, 4764010.500, 0, 0)  
+     (  481130.312, 4763979.500, 0, 0)  
+     (  481039.938, 4763889.500, 0, 0)  
+     (  480882.688, 4763670.000, 0, 0)  
+     (  480826.062, 4763650.500, 0, 0)  
+     (  480745.188, 4763628.500, 0, 0)  
+     (  480654.438, 4763627.500, 0, 0)  
+     (  480599.812, 4763660.000, 0, 0)  
+     (  480281.938, 4763576.500, 0, 0)  
+     (  480221.500, 4763533.500, 0, 0)  
+     (  480199.688, 4763509.000, 0, 0)  
+     (  480195.094, 4763430.000, 0, 0)  
+     (  480273.688, 4763305.500, 0, 0)  
+     (  480309.688, 4763063.500, 0, 0)  
+     (  480201.844, 4762962.500, 0, 0)  
+     (  479855.312, 4762880.500, 0, 0)  
+     (  479848.531, 4762897.000, 0, 0)  
+     (  479728.875, 4763217.500, 0, 0)  
+     (  479492.688, 4763850.000, 0, 0)  
+     (  479550.062, 4763919.500, 0, 0)  
+     (  480120.219, 4764188.500, 0, 0)  
+     (  480192.312, 4764183.000, 0, 0)  
+     (  480358.531, 4764277.000, 0, 0)  
+     (  480500.406, 4764326.500, 0, 0)  
+     (  480584.375, 4764353.000, 0, 0)  
+     (  480655.344, 4764397.500, 0, 0)  
+     (  480677.844, 4764439.000, 0, 0)  
+     (  480692.188, 4764453.500, 0, 0)  
+     (  480731.656, 4764561.500, 0, 0)  
+     (  480515.125, 4764695.000, 0, 0)  
+     (  480540.719, 4764741.000, 0, 0)  
+     (  480588.594, 4764740.500, 0, 0)  
+     (  480710.250, 4764690.500, 0, 0)  
+     (  480701.062, 4764738.000, 0, 0)  
+
+Shape:11 (Polygon)  nVertices=21, nParts=1
+  Bounds:(  476732.906, 4763624.500, 0, 0)
+      to (  478408.062, 4764876.000, 0, 0)
+     (  478315.531, 4764876.000, 0, 0) Ring 
+     (  478408.062, 4764654.000, 0, 0)  
+     (  478325.250, 4764606.500, 0, 0)  
+     (  478220.094, 4764574.500, 0, 0)  
+     (  478140.344, 4764511.000, 0, 0)  
+     (  478065.062, 4764487.500, 0, 0)  
+     (  478080.938, 4764401.500, 0, 0)  
+     (  478110.500, 4764308.500, 0, 0)  
+     (  478149.969, 4764212.500, 0, 0)  
+     (  478180.219, 4764150.000, 0, 0)  
+     (  478192.500, 4764099.500, 0, 0)  
+     (  477893.125, 4763984.500, 0, 0)  
+     (  477417.031, 4763800.500, 0, 0)  
+     (  477005.594, 4763640.000, 0, 0)  
+     (  476958.312, 4763624.500, 0, 0)  
+     (  476947.250, 4763664.500, 0, 0)  
+     (  476732.906, 4764243.000, 0, 0)  
+     (  477322.375, 4764502.000, 0, 0)  
+     (  477599.906, 4764600.000, 0, 0)  
+     (  477949.656, 4764745.000, 0, 0)  
+     (  478315.531, 4764876.000, 0, 0)  
+
+Shape:12 (Polygon)  nVertices=22, nParts=1
+  Bounds:(  478065.062, 4764099.500, 0, 0)
+      to (  478683.000, 4764788.500, 0, 0)
+     (  478408.062, 4764654.000, 0, 0) Ring 
+     (  478460.125, 4764615.000, 0, 0)  
+     (  478532.500, 4764695.500, 0, 0)  
+     (  478597.344, 4764766.500, 0, 0)  
+     (  478621.031, 4764788.500, 0, 0)  
+     (  478683.000, 4764730.500, 0, 0)  
+     (  478502.188, 4764541.500, 0, 0)  
+     (  478448.688, 4764531.500, 0, 0)  
+     (  478447.812, 4764454.000, 0, 0)  
+     (  478443.938, 4764400.500, 0, 0)  
+     (  478461.750, 4764337.500, 0, 0)  
+     (  478503.031, 4764218.000, 0, 0)  
+     (  478192.500, 4764099.500, 0, 0)  
+     (  478180.219, 4764150.000, 0, 0)  
+     (  478149.969, 4764212.500, 0, 0)  
+     (  478110.500, 4764308.500, 0, 0)  
+     (  478080.938, 4764401.500, 0, 0)  
+     (  478065.062, 4764487.500, 0, 0)  
+     (  478140.344, 4764511.000, 0, 0)  
+     (  478220.094, 4764574.500, 0, 0)  
+     (  478325.250, 4764606.500, 0, 0)  
+     (  478408.062, 4764654.000, 0, 0)  
+
+Shape:13 (Polygon)  nVertices=27, nParts=1
+  Bounds:(  479239.812, 4763850.000, 0, 0)
+      to (  480343.719, 4764788.000, 0, 0)
+     (  479750.688, 4764702.000, 0, 0) Ring 
+     (  479968.469, 4764788.000, 0, 0)  
+     (  479985.062, 4764732.000, 0, 0)  
+     (  480011.000, 4764674.500, 0, 0)  
+     (  480093.750, 4764703.000, 0, 0)  
+     (  480177.156, 4764742.000, 0, 0)  
+     (  480258.031, 4764767.000, 0, 0)  
+     (  480343.719, 4764532.500, 0, 0)  
+     (  480343.562, 4764477.000, 0, 0)  
+     (  480316.000, 4764395.000, 0, 0)  
+     (  480289.125, 4764348.500, 0, 0)  
+     (  480234.312, 4764304.000, 0, 0)  
+     (  480157.125, 4764266.500, 0, 0)  
+     (  480192.312, 4764183.000, 0, 0)  
+     (  480120.219, 4764188.500, 0, 0)  
+     (  479550.062, 4763919.500, 0, 0)  
+     (  479492.688, 4763850.000, 0, 0)  
+     (  479487.750, 4763864.500, 0, 0)  
+     (  479442.750, 4763990.000, 0, 0)  
+     (  479436.000, 4764023.000, 0, 0)  
+     (  479398.938, 4764100.000, 0, 0)  
+     (  479349.625, 4764230.000, 0, 0)  
+     (  479305.875, 4764361.000, 0, 0)  
+     (  479239.812, 4764505.000, 0, 0)  
+     (  479504.906, 4764609.500, 0, 0)  
+     (  479658.594, 4764670.000, 0, 0)  
+     (  479750.688, 4764702.000, 0, 0)  
+
+Shape:14 (Polygon)  nVertices=5, nParts=1
+  Bounds:(  479640.094, 4764670.000, 0, 0)
+      to (  479750.688, 4764752.000, 0, 0)
+     (  479750.688, 4764702.000, 0, 0) Ring 
+     (  479658.594, 4764670.000, 0, 0)  
+     (  479640.094, 4764721.000, 0, 0)  
+     (  479735.906, 4764752.000, 0, 0)  
+     (  479750.688, 4764702.000, 0, 0)  
+
+Shape:15 (Polygon)  nVertices=28, nParts=1
+  Bounds:(  478503.031, 4763357.500, 0, 0)
+      to (  479349.625, 4764418.500, 0, 0)
+     (  479305.875, 4764361.000, 0, 0) Ring 
+     (  479349.625, 4764230.000, 0, 0)  
+     (  479218.156, 4764126.000, 0, 0)  
+     (  479128.344, 4764030.500, 0, 0)  
+     (  479103.406, 4764000.000, 0, 0)  
+     (  479099.594, 4763977.500, 0, 0)  
+     (  479080.812, 4763930.000, 0, 0)  
+     (  478999.812, 4763864.500, 0, 0)  
+-------------------------------------------------------------------------
+Test 4: dump pline.dbf - uses new F field type
+-------------------------------------------------------------------------
+Field 0: Type=Integer, Title=`FNODE_', Width=11, Decimals=0
+Field 1: Type=Integer, Title=`TNODE_', Width=11, Decimals=0
+Field 2: Type=Integer, Title=`LPOLY_', Width=11, Decimals=0
+Field 3: Type=Integer, Title=`RPOLY_', Width=11, Decimals=0
+Field 4: Type=Double, Title=`LENGTH', Width=13, Decimals=3
+Field 5: Type=Integer, Title=`PLINE_', Width=11, Decimals=0
+Field 6: Type=Integer, Title=`PLINE_ID', Width=11, Decimals=0
+Field 7: Type=Integer, Title=`UID', Width=11, Decimals=0
+Field 8: Type=Integer, Title=`GISO_TYPE_', Width=11, Decimals=0
+Field 9: Type=Integer, Title=`SYMBOL', Width=6, Decimals=0
+Field 10: Type=Integer, Title=`LOCK__ID', Width=11, Decimals=0
+Field 11: Type=Integer, Title=`PHASE__ID', Width=6, Decimals=0
+Field 12: Type=Integer, Title=`OBJECT__ID', Width=11, Decimals=0
+Field 13: Type=String, Title=`TYPE', Width=50, Decimals=0
+Field 14: Type=Integer, Title=`SYM_NBR', Width=6, Decimals=0
+Field 15: Type=String, Title=`PHASE', Width=4, Decimals=0
+Field 16: Type=String, Title=`CKT_NM', Width=30, Decimals=0
+Field 17: Type=String, Title=`VOLTAGE', Width=30, Decimals=0
+Field 18: Type=String, Title=`CMPN', Width=30, Decimals=0
+
+Record: 0
+FNODE_:         351
+TNODE_:         352
+LPOLY_:           0
+RPOLY_:           0
+LENGTH:       139.451
+PLINE_:           1
+PLINE_ID:        8588
+UID:      544484
+GISO_TYPE_:          13
+SYMBOL:    101
+LOCK__ID:           0
+PHASE__ID:      0
+OBJECT__ID:      131978
+TYPE: Overhead Primary                                  
+SYM_NBR:    101
+PHASE: ABC 
+CKT_NM: MED36                         
+VOLTAGE: (NULL)                        
+CMPN: (NULL)                        
+
+Record: 1
+FNODE_:         352
+TNODE_:         362
+LPOLY_:           0
+RPOLY_:           0
+LENGTH:       158.033
+PLINE_:           2
+PLINE_ID:        8695
+UID:      544591
+-------------------------------------------------------------------------
+Test 5: NULL Shapes.
+-------------------------------------------------------------------------
+Shapefile Type: Arc   # of Shapes: 124
+
+File Bounds: (  257104.880, 5176098.606,0,0)
+         to  (  335497.500, 5226768.100,0,0)
+
+Shape:0 (Arc)  nVertices=21, nParts=1
+  Bounds:(  317138.450, 5176398.916, 0, 0)
+      to (  317325.590, 5186063.780, 0, 0)
+     (  317255.906, 5176398.916, 0, 0) Ring 
+     (  317188.010, 5176506.460, 0, 0)  
+     (  317176.920, 5176524.510, 0, 0)  
+     (  317165.340, 5176546.850, 0, 0)  
+     (  317157.950, 5176566.020, 0, 0)  
+     (  317150.020, 5176587.650, 0, 0)  
+     (  317140.130, 5176623.380, 0, 0)  
+     (  317138.700, 5176637.220, 0, 0)  
+     (  317138.450, 5176652.790, 0, 0)  
+     (  317194.710, 5177654.350, 0, 0)  
+     (  317208.900, 5178001.150, 0, 0)  
+     (  317257.240, 5178791.400, 0, 0)  
+     (  317233.330, 5179171.730, 0, 0)  
+     (  317178.860, 5179593.910, 0, 0)  
+     (  317177.430, 5180161.330, 0, 0)  
+     (  317179.910, 5181231.060, 0, 0)  
+     (  317191.120, 5182009.000, 0, 0)  
+     (  317217.150, 5182812.160, 0, 0)  
+     (  317251.760, 5184426.350, 0, 0)  
+     (  317285.550, 5185242.720, 0, 0)  
+     (  317325.590, 5186063.780, 0, 0)  
+
+Shape:1 (Arc)  nVertices=14, nParts=1
+  Bounds:(  327417.340, 5176119.960, 0, 0)
+      to (  327575.150, 5179522.550, 0, 0)
+     (  327417.340, 5176119.960, 0, 0) Ring 
+     (  327472.250, 5177756.610, 0, 0)  
+     (  327475.670, 5178507.280, 0, 0)  
+     (  327487.420, 5179001.910, 0, 0)  
+     (  327488.760, 5179080.090, 0, 0)  
+     (  327485.310, 5179309.310, 0, 0)  
+     (  327487.010, 5179328.210, 0, 0)  
+     (  327491.800, 5179348.860, 0, 0)  
+     (  327499.800, 5179374.940, 0, 0)  
+     (  327512.980, 5179413.100, 0, 0)  
+     (  327527.290, 5179446.960, 0, 0)  
+     (  327538.870, 5179469.890, 0, 0)  
+     (  327552.260, 5179491.550, 0, 0)  
+     (  327575.150, 5179522.550, 0, 0)  
+
+Shape:2 (Arc)  nVertices=40, nParts=1
+  Bounds:(  326935.880, 5180924.980, 0, 0)
+      to (  327723.190, 5198803.660, 0, 0)
+     (  327370.950, 5180924.980, 0, 0) Ring 
+     (  327410.070, 5181060.540, 0, 0)  
+     (  327512.850, 5181435.450, 0, 0)  
+     (  327518.640, 5181464.010, 0, 0)  
+     (  327523.700, 5181488.920, 0, 0)  
+     (  327524.500, 5181514.570, 0, 0)  
+     (  327468.010, 5182633.640, 0, 0)  
+     (  327500.040, 5183199.840, 0, 0)  
+     (  327499.600, 5183224.920, 0, 0)  
+     (  327484.700, 5183355.010, 0, 0)  
+     (  327483.690, 5183400.900, 0, 0)  
+     (  327483.840, 5183464.480, 0, 0)  
+     (  327486.010, 5183494.980, 0, 0)  
+     (  327571.280, 5184207.820, 0, 0)  
+     (  327617.210, 5184599.430, 0, 0)  
+     (  327620.420, 5184623.780, 0, 0)  
+     (  327625.530, 5184650.530, 0, 0)  
+     (  327698.430, 5184927.070, 0, 0)  
+     (  327702.100, 5184946.520, 0, 0)  
+     (  327717.940, 5185394.820, 0, 0)  
+     (  327723.190, 5185719.320, 0, 0)  
+     (  327719.460, 5185737.170, 0, 0)  
+     (  327712.090, 5185755.740, 0, 0)  
+     (  327699.840, 5185775.080, 0, 0)  
+     (  327683.830, 5185791.480, 0, 0)  
+     (  327665.380, 5185807.950, 0, 0)  
+     (  327641.970, 5185822.740, 0, 0)  
+     (  327622.280, 5185829.070, 0, 0)  
+     (  327604.950, 5185832.940, 0, 0)  
+     (  326937.500, 5185829.310, 0, 0)  
+     (  326935.880, 5187515.510, 0, 0)  
+     (  326983.050, 5189115.230, 0, 0)  
+     (  326998.860, 5189920.820, 0, 0)  
+     (  327060.240, 5190715.870, 0, 0)  
+     (  327123.230, 5192332.220, 0, 0)  
+     (  327179.920, 5193766.290, 0, 0)  
+     (  327185.490, 5193921.940, 0, 0)  
+     (  327204.120, 5195553.580, 0, 0)  
+     (  327218.270, 5197179.250, 0, 0)  
+     (  327251.330, 5198803.660, 0, 0)  
+
+Shape:3 (NullShape)  nVertices=0, nParts=0
+  Bounds:(       0.000,       0.000, 0, 0)
+      to (       0.000,       0.000, 0, 0)
+
+Shape:4 (NullShape)  nVertices=0, nParts=0
+  Bounds:(       0.000,       0.000, 0, 0)
+      to (       0.000,       0.000, 0, 0)
+
+Shape:5 (NullShape)  nVertices=0, nParts=0
+  Bounds:(       0.000,       0.000, 0, 0)
+      to (       0.000,       0.000, 0, 0)
+
+Shape:6 (Arc)  nVertices=2, nParts=1
+  Bounds:(  327123.230, 5192296.600, 0, 0)
+      to (  328480.850, 5192332.220, 0, 0)
+     (  327123.230, 5192332.220, 0, 0) Ring 
+     (  328480.850, 5192296.600, 0, 0)  
+
+Shape:7 (Arc)  nVertices=5, nParts=1
+  Bounds:(  329222.060, 5217943.490, 0, 0)
+      to (  335290.680, 5218084.780, 0, 0)
+     (  329222.060, 5218084.780, 0, 0) Ring 
+     (  330442.520, 5218057.650, 0, 0)  
+     (  332059.960, 5218033.810, 0, 0)  
+     (  333685.820, 5218004.860, 0, 0)  
+     (  335290.680, 5217943.490, 0, 0)  
+
+Shape:8 (Arc)  nVertices=65, nParts=1
+  Bounds:(  280048.100, 5177687.643, 0, 0)
+      to (  280439.410, 5182567.120, 0, 0)
+     (  280316.840, 5177687.643, 0, 0) Ring 
+     (  280325.310, 5177968.830, 0, 0)  
+     (  280324.630, 5178037.940, 0, 0)  
+     (  280324.150, 5178059.350, 0, 0)  
+     (  280320.130, 5178084.560, 0, 0)  
+     (  280299.860, 5178170.250, 0, 0)  
+     (  280288.710, 5178218.940, 0, 0)  
+     (  280274.280, 5178283.640, 0, 0)  
+     (  280268.000, 5178330.870, 0, 0)  
+     (  280267.910, 5178346.760, 0, 0)  
+     (  280270.510, 5178364.580, 0, 0)  
+     (  280274.820, 5178382.360, 0, 0)  
+     (  280278.440, 5178397.210, 0, 0)  
+     (  280351.400, 5178743.800, 0, 0)  
+     (  280369.860, 5178800.630, 0, 0)  
+     (  280378.670, 5178826.010, 0, 0)  
+     (  280400.350, 5178869.890, 0, 0)  
+     (  280414.870, 5178901.180, 0, 0)  
+     (  280427.030, 5178934.990, 0, 0)  
+     (  280436.250, 5178971.970, 0, 0)  
+     (  280439.410, 5178992.650, 0, 0)  
+     (  280439.170, 5179001.630, 0, 0)  
+     (  280437.010, 5179011.690, 0, 0)  
+     (  280434.930, 5179016.970, 0, 0)  
+     (  280431.870, 5179022.260, 0, 0)  
+     (  280413.610, 5179041.850, 0, 0)  
+     (  280410.040, 5179046.780, 0, 0)  
+     (  280406.640, 5179052.480, 0, 0)  
diff --git a/tests/stream2.out b/tests/stream2.out
new file mode 100644
index 0000000..249f8b8
--- /dev/null
+++ b/tests/stream2.out
@@ -0,0 +1,530 @@
+-----------------------------------------------------------------------
+Test 2/0
+-----------------------------------------------------------------------
+Shapefile Type: NullShape   # of Shapes: 2
+
+File Bounds: (0,0,0,0)
+         to  (10,20,0,0)
+
+Shape:0 (NullShape)  nVertices=0, nParts=0
+  Bounds:(0,0, 0)
+      to (0,0, 0)
+
+Shape:1 (NullShape)  nVertices=0, nParts=0
+  Bounds:(0,0, 0)
+      to (0,0, 0)
+-----------------------------------------------------------------------
+Test 2/1
+-----------------------------------------------------------------------
+Shapefile Type: Point   # of Shapes: 2
+
+File Bounds: (1,2,0,0)
+         to  (10,20,0,0)
+
+Shape:0 (Point)  nVertices=1, nParts=0
+  Bounds:(1,2, 0)
+      to (1,2, 0)
+     (1,2, 0)  
+
+Shape:1 (Point)  nVertices=1, nParts=0
+  Bounds:(10,20, 0)
+      to (10,20, 0)
+     (10,20, 0)  
+-----------------------------------------------------------------------
+Test 2/2
+-----------------------------------------------------------------------
+Shapefile Type: PointZ   # of Shapes: 2
+
+File Bounds: (1,2,3,4)
+         to  (10,20,30,40)
+
+Shape:0 (PointZ)  nVertices=1, nParts=0
+  Bounds:(1,2, 3, 4)
+      to (1,2, 3, 4)
+     (1,2, 3, 4)  
+
+Shape:1 (PointZ)  nVertices=1, nParts=0
+  Bounds:(10,20, 30, 40)
+      to (10,20, 30, 40)
+     (10,20, 30, 40)  
+-----------------------------------------------------------------------
+Test 2/3
+-----------------------------------------------------------------------
+Shapefile Type: PointM   # of Shapes: 2
+
+File Bounds: (1,2,0,4)
+         to  (10,20,0,40)
+
+Shape:0 (PointM)  nVertices=1, nParts=0
+  Bounds:(1,2, 0, 4)
+      to (1,2, 0, 4)
+     (1,2, 0, 4)  
+
+Shape:1 (PointM)  nVertices=1, nParts=0
+  Bounds:(10,20, 0, 40)
+      to (10,20, 0, 40)
+     (10,20, 0, 40)  
+-----------------------------------------------------------------------
+Test 2/4
+-----------------------------------------------------------------------
+Shapefile Type: MultiPoint   # of Shapes: 3
+
+File Bounds: (1.15,2.25,0,0)
+         to  (24.15,25.25,0,0)
+
+Shape:0 (MultiPoint)  nVertices=4, nParts=0
+  Bounds:(1.15,2.25, 0)
+      to (4.15,5.25, 0)
+     (1.15,2.25, 0)  
+     (2.15,3.25, 0)  
+     (3.15,4.25, 0)  
+     (4.15,5.25, 0)  
+
+Shape:1 (MultiPoint)  nVertices=4, nParts=0
+  Bounds:(11.15,12.25, 0)
+      to (14.15,15.25, 0)
+     (11.15,12.25, 0)  
+     (12.15,13.25, 0)  
+     (13.15,14.25, 0)  
+     (14.15,15.25, 0)  
+
+Shape:2 (MultiPoint)  nVertices=4, nParts=0
+  Bounds:(21.15,22.25, 0)
+      to (24.15,25.25, 0)
+     (21.15,22.25, 0)  
+     (22.15,23.25, 0)  
+     (23.15,24.25, 0)  
+     (24.15,25.25, 0)  
+-----------------------------------------------------------------------
+Test 2/5
+-----------------------------------------------------------------------
+Shapefile Type: MultiPointZ   # of Shapes: 3
+
+File Bounds: (1.15,2.25,3.35,4.45)
+         to  (24.15,25.25,26.35,27.45)
+
+Shape:0 (MultiPointZ)  nVertices=4, nParts=0
+  Bounds:(1.15,2.25, 3.35, 4.45)
+      to (4.15,5.25, 6.35, 7.45)
+     (1.15,2.25, 3.35, 4.45)  
+     (2.15,3.25, 4.35, 5.45)  
+     (3.15,4.25, 5.35, 6.45)  
+     (4.15,5.25, 6.35, 7.45)  
+
+Shape:1 (MultiPointZ)  nVertices=4, nParts=0
+  Bounds:(11.15,12.25, 13.35, 14.45)
+      to (14.15,15.25, 16.35, 17.45)
+     (11.15,12.25, 13.35, 14.45)  
+     (12.15,13.25, 14.35, 15.45)  
+     (13.15,14.25, 15.35, 16.45)  
+     (14.15,15.25, 16.35, 17.45)  
+
+Shape:2 (MultiPointZ)  nVertices=4, nParts=0
+  Bounds:(21.15,22.25, 23.35, 24.45)
+      to (24.15,25.25, 26.35, 27.45)
+     (21.15,22.25, 23.35, 24.45)  
+     (22.15,23.25, 24.35, 25.45)  
+     (23.15,24.25, 25.35, 26.45)  
+     (24.15,25.25, 26.35, 27.45)  
+-----------------------------------------------------------------------
+Test 2/6
+-----------------------------------------------------------------------
+Shapefile Type: MultiPointM   # of Shapes: 3
+
+File Bounds: (1.15,2.25,0,4.45)
+         to  (24.15,25.25,0,27.45)
+
+Shape:0 (MultiPointM)  nVertices=4, nParts=0
+  Bounds:(1.15,2.25, 0, 4.45)
+      to (4.15,5.25, 0, 7.45)
+     (1.15,2.25, 0, 4.45)  
+     (2.15,3.25, 0, 5.45)  
+     (3.15,4.25, 0, 6.45)  
+     (4.15,5.25, 0, 7.45)  
+
+Shape:1 (MultiPointM)  nVertices=4, nParts=0
+  Bounds:(11.15,12.25, 0, 14.45)
+      to (14.15,15.25, 0, 17.45)
+     (11.15,12.25, 0, 14.45)  
+     (12.15,13.25, 0, 15.45)  
+     (13.15,14.25, 0, 16.45)  
+     (14.15,15.25, 0, 17.45)  
+
+Shape:2 (MultiPointM)  nVertices=4, nParts=0
+  Bounds:(21.15,22.25, 0, 24.45)
+      to (24.15,25.25, 0, 27.45)
+     (21.15,22.25, 0, 24.45)  
+     (22.15,23.25, 0, 25.45)  
+     (23.15,24.25, 0, 26.45)  
+     (24.15,25.25, 0, 27.45)  
+-----------------------------------------------------------------------
+Test 2/7
+-----------------------------------------------------------------------
+Shapefile Type: Arc   # of Shapes: 4
+
+File Bounds: (0,0,0,0)
+         to  (100,100,0,0)
+
+Shape:0 (Arc)  nVertices=5, nParts=1
+  Bounds:(1,1, 0)
+      to (2,2, 0)
+     (1,1, 0) Ring 
+     (2,1, 0)  
+     (2,2, 0)  
+     (1,2, 0)  
+     (1,1, 0)  
+
+Shape:1 (Arc)  nVertices=5, nParts=1
+  Bounds:(1,4, 0)
+      to (2,5, 0)
+     (1,4, 0) Ring 
+     (2,4, 0)  
+     (2,5, 0)  
+     (1,5, 0)  
+     (1,4, 0)  
+
+Shape:2 (Arc)  nVertices=5, nParts=1
+  Bounds:(1,7, 0)
+      to (2,8, 0)
+     (1,7, 0) Ring 
+     (2,7, 0)  
+     (2,8, 0)  
+     (1,8, 0)  
+     (1,7, 0)  
+
+Shape:3 (Arc)  nVertices=15, nParts=3
+  Bounds:(0,0, 0)
+      to (100,100, 0)
+     (0,0, 0) Ring 
+     (0,100, 0)  
+     (100,100, 0)  
+     (100,0, 0)  
+     (0,0, 0)  
+   + (10,20, 0) Ring 
+     (30,20, 0)  
+     (30,40, 0)  
+     (10,40, 0)  
+     (10,20, 0)  
+   + (60,20, 0) Ring 
+     (90,20, 0)  
+     (90,40, 0)  
+     (60,40, 0)  
+     (60,20, 0)  
+-----------------------------------------------------------------------
+Test 2/8
+-----------------------------------------------------------------------
+Shapefile Type: ArcZ   # of Shapes: 4
+
+File Bounds: (0,0,0,0)
+         to  (100,100,27.35,28.45)
+
+Shape:0 (ArcZ)  nVertices=5, nParts=1
+  Bounds:(1,1, 3.35, 4.45)
+      to (2,2, 7.35, 8.45)
+     (1,1, 3.35, 4.45) Ring 
+     (2,1, 4.35, 5.45)  
+     (2,2, 5.35, 6.45)  
+     (1,2, 6.35, 7.45)  
+     (1,1, 7.35, 8.45)  
+
+Shape:1 (ArcZ)  nVertices=5, nParts=1
+  Bounds:(1,4, 13.35, 14.45)
+      to (2,5, 17.35, 18.45)
+     (1,4, 13.35, 14.45) Ring 
+     (2,4, 14.35, 15.45)  
+     (2,5, 15.35, 16.45)  
+     (1,5, 16.35, 17.45)  
+     (1,4, 17.35, 18.45)  
+
+Shape:2 (ArcZ)  nVertices=5, nParts=1
+  Bounds:(1,7, 23.35, 24.45)
+      to (2,8, 27.35, 28.45)
+     (1,7, 23.35, 24.45) Ring 
+     (2,7, 24.35, 25.45)  
+     (2,8, 25.35, 26.45)  
+     (1,8, 26.35, 27.45)  
+     (1,7, 27.35, 28.45)  
+
+Shape:3 (ArcZ)  nVertices=15, nParts=3
+  Bounds:(0,0, 0, 0)
+      to (100,100, 14, 28)
+     (0,0, 0, 0) Ring 
+     (0,100, 1, 2)  
+     (100,100, 2, 4)  
+     (100,0, 3, 6)  
+     (0,0, 4, 8)  
+   + (10,20, 5, 10) Ring 
+     (30,20, 6, 12)  
+     (30,40, 7, 14)  
+     (10,40, 8, 16)  
+     (10,20, 9, 18)  
+   + (60,20, 10, 20) Ring 
+     (90,20, 11, 22)  
+     (90,40, 12, 24)  
+     (60,40, 13, 26)  
+     (60,20, 14, 28)  
+-----------------------------------------------------------------------
+Test 2/9
+-----------------------------------------------------------------------
+Shapefile Type: ArcM   # of Shapes: 4
+
+File Bounds: (0,0,0,0)
+         to  (100,100,0,28.45)
+
+Shape:0 (ArcM)  nVertices=5, nParts=1
+  Bounds:(1,1, 0, 4.45)
+      to (2,2, 0, 8.45)
+     (1,1, 0, 4.45) Ring 
+     (2,1, 0, 5.45)  
+     (2,2, 0, 6.45)  
+     (1,2, 0, 7.45)  
+     (1,1, 0, 8.45)  
+
+Shape:1 (ArcM)  nVertices=5, nParts=1
+  Bounds:(1,4, 0, 14.45)
+      to (2,5, 0, 18.45)
+     (1,4, 0, 14.45) Ring 
+     (2,4, 0, 15.45)  
+     (2,5, 0, 16.45)  
+     (1,5, 0, 17.45)  
+     (1,4, 0, 18.45)  
+
+Shape:2 (ArcM)  nVertices=5, nParts=1
+  Bounds:(1,7, 0, 24.45)
+      to (2,8, 0, 28.45)
+     (1,7, 0, 24.45) Ring 
+     (2,7, 0, 25.45)  
+     (2,8, 0, 26.45)  
+     (1,8, 0, 27.45)  
+     (1,7, 0, 28.45)  
+
+Shape:3 (ArcM)  nVertices=15, nParts=3
+  Bounds:(0,0, 0, 0)
+      to (100,100, 0, 28)
+     (0,0, 0, 0) Ring 
+     (0,100, 0, 2)  
+     (100,100, 0, 4)  
+     (100,0, 0, 6)  
+     (0,0, 0, 8)  
+   + (10,20, 0, 10) Ring 
+     (30,20, 0, 12)  
+     (30,40, 0, 14)  
+     (10,40, 0, 16)  
+     (10,20, 0, 18)  
+   + (60,20, 0, 20) Ring 
+     (90,20, 0, 22)  
+     (90,40, 0, 24)  
+     (60,40, 0, 26)  
+     (60,20, 0, 28)  
+-----------------------------------------------------------------------
+Test 2/10
+-----------------------------------------------------------------------
+Shapefile Type: Polygon   # of Shapes: 4
+
+File Bounds: (0,0,0,0)
+         to  (100,100,0,0)
+
+Shape:0 (Polygon)  nVertices=5, nParts=1
+  Bounds:(1,1, 0)
+      to (2,2, 0)
+     (1,1, 0) Ring 
+     (2,1, 0)  
+     (2,2, 0)  
+     (1,2, 0)  
+     (1,1, 0)  
+
+Shape:1 (Polygon)  nVertices=5, nParts=1
+  Bounds:(1,4, 0)
+      to (2,5, 0)
+     (1,4, 0) Ring 
+     (2,4, 0)  
+     (2,5, 0)  
+     (1,5, 0)  
+     (1,4, 0)  
+
+Shape:2 (Polygon)  nVertices=5, nParts=1
+  Bounds:(1,7, 0)
+      to (2,8, 0)
+     (1,7, 0) Ring 
+     (2,7, 0)  
+     (2,8, 0)  
+     (1,8, 0)  
+     (1,7, 0)  
+
+Shape:3 (Polygon)  nVertices=15, nParts=3
+  Bounds:(0,0, 0)
+      to (100,100, 0)
+     (0,0, 0) Ring 
+     (0,100, 0)  
+     (100,100, 0)  
+     (100,0, 0)  
+     (0,0, 0)  
+   + (10,20, 0) Ring 
+     (30,20, 0)  
+     (30,40, 0)  
+     (10,40, 0)  
+     (10,20, 0)  
+   + (60,20, 0) Ring 
+     (90,20, 0)  
+     (90,40, 0)  
+     (60,40, 0)  
+     (60,20, 0)  
+-----------------------------------------------------------------------
+Test 2/11
+-----------------------------------------------------------------------
+Shapefile Type: PolygonZ   # of Shapes: 4
+
+File Bounds: (0,0,0,0)
+         to  (100,100,27.35,28.45)
+
+Shape:0 (PolygonZ)  nVertices=5, nParts=1
+  Bounds:(1,1, 3.35, 4.45)
+      to (2,2, 7.35, 8.45)
+     (1,1, 3.35, 4.45) Ring 
+     (2,1, 4.35, 5.45)  
+     (2,2, 5.35, 6.45)  
+     (1,2, 6.35, 7.45)  
+     (1,1, 7.35, 8.45)  
+
+Shape:1 (PolygonZ)  nVertices=5, nParts=1
+  Bounds:(1,4, 13.35, 14.45)
+      to (2,5, 17.35, 18.45)
+     (1,4, 13.35, 14.45) Ring 
+     (2,4, 14.35, 15.45)  
+     (2,5, 15.35, 16.45)  
+     (1,5, 16.35, 17.45)  
+     (1,4, 17.35, 18.45)  
+
+Shape:2 (PolygonZ)  nVertices=5, nParts=1
+  Bounds:(1,7, 23.35, 24.45)
+      to (2,8, 27.35, 28.45)
+     (1,7, 23.35, 24.45) Ring 
+     (2,7, 24.35, 25.45)  
+     (2,8, 25.35, 26.45)  
+     (1,8, 26.35, 27.45)  
+     (1,7, 27.35, 28.45)  
+
+Shape:3 (PolygonZ)  nVertices=15, nParts=3
+  Bounds:(0,0, 0, 0)
+      to (100,100, 14, 28)
+     (0,0, 0, 0) Ring 
+     (0,100, 1, 2)  
+     (100,100, 2, 4)  
+     (100,0, 3, 6)  
+     (0,0, 4, 8)  
+   + (10,20, 5, 10) Ring 
+     (30,20, 6, 12)  
+     (30,40, 7, 14)  
+     (10,40, 8, 16)  
+     (10,20, 9, 18)  
+   + (60,20, 10, 20) Ring 
+     (90,20, 11, 22)  
+     (90,40, 12, 24)  
+     (60,40, 13, 26)  
+     (60,20, 14, 28)  
+-----------------------------------------------------------------------
+Test 2/12
+-----------------------------------------------------------------------
+Shapefile Type: PolygonM   # of Shapes: 4
+
+File Bounds: (0,0,0,0)
+         to  (100,100,0,28.45)
+
+Shape:0 (PolygonM)  nVertices=5, nParts=1
+  Bounds:(1,1, 0, 4.45)
+      to (2,2, 0, 8.45)
+     (1,1, 0, 4.45) Ring 
+     (2,1, 0, 5.45)  
+     (2,2, 0, 6.45)  
+     (1,2, 0, 7.45)  
+     (1,1, 0, 8.45)  
+
+Shape:1 (PolygonM)  nVertices=5, nParts=1
+  Bounds:(1,4, 0, 14.45)
+      to (2,5, 0, 18.45)
+     (1,4, 0, 14.45) Ring 
+     (2,4, 0, 15.45)  
+     (2,5, 0, 16.45)  
+     (1,5, 0, 17.45)  
+     (1,4, 0, 18.45)  
+
+Shape:2 (PolygonM)  nVertices=5, nParts=1
+  Bounds:(1,7, 0, 24.45)
+      to (2,8, 0, 28.45)
+     (1,7, 0, 24.45) Ring 
+     (2,7, 0, 25.45)  
+     (2,8, 0, 26.45)  
+     (1,8, 0, 27.45)  
+     (1,7, 0, 28.45)  
+
+Shape:3 (PolygonM)  nVertices=15, nParts=3
+  Bounds:(0,0, 0, 0)
+      to (100,100, 0, 28)
+     (0,0, 0, 0) Ring 
+     (0,100, 0, 2)  
+     (100,100, 0, 4)  
+     (100,0, 0, 6)  
+     (0,0, 0, 8)  
+   + (10,20, 0, 10) Ring 
+     (30,20, 0, 12)  
+     (30,40, 0, 14)  
+     (10,40, 0, 16)  
+     (10,20, 0, 18)  
+   + (60,20, 0, 20) Ring 
+     (90,20, 0, 22)  
+     (90,40, 0, 24)  
+     (60,40, 0, 26)  
+     (60,20, 0, 28)  
+-----------------------------------------------------------------------
+Test 2/13
+-----------------------------------------------------------------------
+Shapefile Type: MultiPatch   # of Shapes: 4
+
+File Bounds: (0,0,0,0)
+         to  (100,100,27.35,28.45)
+
+Shape:0 (MultiPatch)  nVertices=5, nParts=1
+  Bounds:(1,1, 3.35)
+      to (2,2, 7.35)
+     (1,1, 3.35) Ring 
+     (2,1, 4.35)  
+     (2,2, 5.35)  
+     (1,2, 6.35)  
+     (1,1, 7.35)  
+
+Shape:1 (MultiPatch)  nVertices=5, nParts=1
+  Bounds:(1,4, 13.35)
+      to (2,5, 17.35)
+     (1,4, 13.35) Ring 
+     (2,4, 14.35)  
+     (2,5, 15.35)  
+     (1,5, 16.35)  
+     (1,4, 17.35)  
+
+Shape:2 (MultiPatch)  nVertices=5, nParts=1
+  Bounds:(1,7, 23.35)
+      to (2,8, 27.35)
+     (1,7, 23.35) Ring 
+     (2,7, 24.35)  
+     (2,8, 25.35)  
+     (1,8, 26.35)  
+     (1,7, 27.35)  
+
+Shape:3 (MultiPatch)  nVertices=15, nParts=3
+  Bounds:(0,0, 0)
+      to (100,100, 14)
+     (0,0, 0) Ring 
+     (0,100, 1)  
+     (100,100, 2)  
+     (100,0, 3)  
+     (0,0, 4)  
+   + (10,20, 5) InnerRing 
+     (30,20, 6)  
+     (30,40, 7)  
+     (10,40, 8)  
+     (10,20, 9)  
+   + (60,20, 10) InnerRing 
+     (90,20, 11)  
+     (90,40, 12)  
+     (60,40, 13)  
+     (60,20, 14)  
diff --git a/tests/stream3.out b/tests/stream3.out
new file mode 100644
index 0000000..1ab8af4
--- /dev/null
+++ b/tests/stream3.out
@@ -0,0 +1,37 @@
+Shapefile Type: Polygon   # of Shapes: 3
+
+File Bounds: (0,0,0,0)
+         to  (180,170,0,0)
+
+Shape:0 (Polygon)  nVertices=9, nParts=2
+  Bounds:(0,0, 0)
+      to (100,100, 0)
+     (0,0, 0) Ring 
+     (100,0, 0)  
+     (100,100, 0)  
+     (0,100, 0)  
+     (0,0, 0)  
+   + (20,20, 0) Ring 
+     (20,30, 0)  
+     (30,30, 0)  
+     (20,20, 0)  
+
+Shape:1 (Polygon)  nVertices=4, nParts=1
+  Bounds:(150,150, 0)
+      to (180,170, 0)
+     (150,150, 0) Ring 
+     (160,150, 0)  
+     (180,170, 0)  
+     (150,150, 0)  
+
+Shape:2 (Polygon)  nVertices=4, nParts=1
+  Bounds:(150,150, 0)
+      to (180,170, 0)
+     (150,150, 0) Ring 
+     (160,150, 0)  
+     (180,170, 0)  
+     (150,150, 0)  
+Descriptio                     TestInt       TestDouble 
+Square with triangle missing        1           2.50000 
+Smaller triangle                  100        1000.25000 
+(NULL)                         (NULL)            (NULL) 
diff --git a/tests/test1.sh b/tests/test1.sh
new file mode 100755
index 0000000..86ce986
--- /dev/null
+++ b/tests/test1.sh
@@ -0,0 +1,45 @@
+#!/bin/sh
+
+EG_DATA=/u/www/projects/shapelib/eg_data
+
+testdir="$(dirname "$(readlink -f $0)")"
+
+(
+cd "$top_builddir"
+echo -------------------------------------------------------------------------
+echo Test 1: dump anno.shp
+echo -------------------------------------------------------------------------
+./shpdump $EG_DATA/anno.shp | head -250
+
+echo -------------------------------------------------------------------------
+echo Test 2: dump brklinz.shp
+echo -------------------------------------------------------------------------
+./shpdump $EG_DATA/brklinz.shp | head -500
+
+echo -------------------------------------------------------------------------
+echo Test 3: dump polygon.shp
+echo -------------------------------------------------------------------------
+./shpdump $EG_DATA/polygon.shp | head -500
+
+echo -------------------------------------------------------------------------
+echo Test 4: dump pline.dbf - uses new F field type
+echo -------------------------------------------------------------------------
+./dbfdump -m -h $EG_DATA/pline.dbf | head -50
+
+echo -------------------------------------------------------------------------
+echo Test 5: NULL Shapes.
+echo -------------------------------------------------------------------------
+./shpdump $EG_DATA/csah.dbf | head -150
+) > "$testdir/s1.out"
+
+result="$(diff "$testdir/s1.out" "$testdir/stream1.out")"
+if [ "$result" == "" ]; then
+	echo "******* Stream 1 Succeeded *********"
+	rm "$testdir/s1.out"
+	exit 0
+else
+	echo "******* Stream 1 Failed *********"
+	echo "$result"
+	rm "$testdir/s1.out"
+	exit 1
+fi
diff --git a/tests/test2.sh b/tests/test2.sh
new file mode 100755
index 0000000..01dadd5
--- /dev/null
+++ b/tests/test2.sh
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+testdir="$(dirname "$(readlink -f $0)")"
+
+(
+cd "$top_builddir"
+for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13; do
+  echo -----------------------------------------------------------------------
+  echo Test 2/$i
+  echo -----------------------------------------------------------------------
+
+  ./shptest $i
+  ./shpdump test${i}.shp
+done
+) > "$testdir/s2.out"
+
+result="$(diff "$testdir/s2.out" "$testdir/stream2.out")"
+if [ "$result" == "" ]; then
+	echo "******* Stream 2 Succeeded *********"
+	rm "$testdir/s2.out"
+	exit 0
+else
+	echo "******* Stream 2 Failed *********"
+	echo "$result"
+	rm "$testdir/s2.out"
+	exit 1
+fi
diff --git a/tests/test3.sh b/tests/test3.sh
new file mode 100755
index 0000000..c615005
--- /dev/null
+++ b/tests/test3.sh
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+#
+#	Use example programs to create a very simple dataset that
+#	should display in ARCView II.
+#
+
+testdir="$(dirname "$(readlink -f $0)")"
+
+(
+cd "$top_builddir"
+./shpcreate test polygon
+./dbfcreate test.dbf -s Description 30 -n TestInt 6 0 -n TestDouble 16 5
+
+./shpadd test 0 0 100 0 100 100 0 100 0 0 + 20 20 20 30 30 30 20 20
+./dbfadd test.dbf "Square with triangle missing" 1.5 2.5
+
+./shpadd test 150 150 160 150 180 170 150 150
+./dbfadd test.dbf "Smaller triangle" 100 1000.25
+
+./shpadd test 150 150 160 150 180 170 150 150
+./dbfadd test.dbf "" "" ""
+
+./shpdump test.shp
+./dbfdump test.dbf
+) > "$testdir/s3.out"
+
+result=$(diff "$testdir/s3.out" "$testdir/stream3.out")
+if [ "$result" == "" ]; then
+	echo "******* Stream 3 Succeeded *********"
+	rm "$testdir/s3.out"
+	exit 0
+else
+	echo "******* Stream 3 Failed *********"
+	echo "$result"
+	rm "$testdir/s3.out"
+	exit 1
+fi