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. + + + Copyright (C) + + 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. + + , 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. - - - Copyright (C) - - 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. - - , 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 {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 #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 {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 " - echo " - 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 -# 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 " - echo " - 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