From 017724ff95414755534e9c7b91945821408472bd Mon Sep 17 00:00:00 2001 From: Sandro Mani Date: Mon, 5 Aug 2013 19:26:10 +0200 Subject: [PATCH] Update to 1.3.0 final --- .gitignore | 1 + shapelib-1.2.10-Makefile.patch | 98 - shapelib-1.2.10-Makefile2.patch | 20 - shapelib-1.2.10-endian.patch | 24 - shapelib-1.3.0b1-Makefile.patch | 98 - shapelib-1.3.0b1-buildid.patch | 19 - shapelib-1.3.0b2-Makefile2.patch | 32 - shapelib.spec | 106 +- shapelib_autotools.patch | 6396 ++++++++++++++++++++++++++++++ sources | 2 +- 10 files changed, 6449 insertions(+), 347 deletions(-) delete mode 100644 shapelib-1.2.10-Makefile.patch delete mode 100644 shapelib-1.2.10-Makefile2.patch delete mode 100644 shapelib-1.2.10-endian.patch delete mode 100644 shapelib-1.3.0b1-Makefile.patch delete mode 100644 shapelib-1.3.0b1-buildid.patch delete mode 100644 shapelib-1.3.0b2-Makefile2.patch create mode 100644 shapelib_autotools.patch diff --git a/.gitignore b/.gitignore index 9b9dc75..d28e84e 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ shapelib-1.3.0b2.tar.gz +/shapelib-1.3.0.tar.gz diff --git a/shapelib-1.2.10-Makefile.patch b/shapelib-1.2.10-Makefile.patch deleted file mode 100644 index 10638e0..0000000 --- a/shapelib-1.2.10-Makefile.patch +++ /dev/null @@ -1,98 +0,0 @@ -diff -Naur shapelib-1.2.10/Makefile shapelib-1.2.10-mod/Makefile ---- shapelib-1.2.10/Makefile 2007-12-13 22:27:13.000000000 +0200 -+++ shapelib-1.2.10-mod/Makefile 2010-02-19 09:59:18.000000000 +0200 -@@ -6,6 +6,13 @@ - INSTALL = /usr/bin/install - LD = /usr/bin/ld - #CC = g++ -+bindir = /usr/local/bin -+libdir = /usr/local/lib -+includedir = /usr/local/include -+ -+CC = gcc -+CFLAGS = -g -+ - - default: all - -@@ -103,29 +110,34 @@ - # The following is contributed by Jan-Oliver Wagner, and should allow for - # creating shared libraries on most platforms with gcc, and libtool installed. - --SHPLIB_VERSION=1.2.9 -+SHPLIB_VERSION=1.2.11 - LIBSHP_VERSION=1.0.1 # still once to be changed manually (see for 1:1:0), sorry - - lib: -- /bin/sh ./libtool --mode=compile gcc -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. -I. -I/usr/local/include -g -O2 -c shpopen.c -- gcc -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. -I. -I/usr/local/include -g -O2 -c -fPIC -DPIC shpopen.c -o .libs/shpopen.lo -- gcc -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. -I. -I/usr/local/include -g -O2 -c shpopen.c -o shpopen.o >/dev/null 2>&1 -+ /bin/sh ./libtool --mode=compile $(CC) -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. $(CFLAGS) $(LINKOPTS) -c shpopen.c -+ $(CC) -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. $(CFLAGS) $(LINKOPTS) -c -fPIC -DPIC shpopen.c -o .libs/shpopen.lo -+ $(CC) -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. $(CFLAGS) $(LINKOPTS) -c shpopen.c -o shpopen.o >/dev/null 2>&1 - mv -f .libs/shpopen.lo shpopen.lo -- /bin/sh ./libtool --mode=compile gcc -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. -I. -I/usr/local/include -g -O2 -c shptree.c -+ /bin/sh ./libtool --mode=compile $(CC) -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. $(CFLAGS) $(LINKOPTS) -c shptree.c - rm -f .libs/shptree.lo -- gcc -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. -I. -I/usr/local/include -g -O2 -c -fPIC -DPIC shptree.c -o .libs/shptree.lo -- gcc -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. -I. -I/usr/local/include -g -O2 -c shptree.c -o shptree.o >/dev/null 2>&1 -+ $(CC) -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. $(CFLAGS) $(LINKOPTS) -c -fPIC -DPIC shptree.c -o .libs/shptree.lo -+ $(CC) -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. $(CFLAGS) $(LINKOPTS) -c shptree.c -o shptree.o >/dev/null 2>&1 - mv -f .libs/shptree.lo shptree.lo -- /bin/sh ./libtool --mode=compile gcc -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. -I. -I/usr/local/include -g -O2 -c dbfopen.c -+ /bin/sh ./libtool --mode=compile $(CC) -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. $(CFLAGS) $(LINKOPTS) -c dbfopen.c - rm -f .libs/dbfopen.lo -- gcc -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. -I. -I/usr/local/include -g -O2 -c -fPIC -DPIC dbfopen.c -o .libs/dbfopen.lo -- gcc -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. -I. -I/usr/local/include -g -O2 -c dbfopen.c -o dbfopen.o >/dev/null 2>&1 -+ $(CC) -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. $(CFLAGS) $(LINKOPTS) -c -fPIC -DPIC dbfopen.c -o .libs/dbfopen.lo -+ $(CC) -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. $(CFLAGS) $(LINKOPTS) -c dbfopen.c -o dbfopen.o >/dev/null 2>&1 - mv -f .libs/dbfopen.lo dbfopen.lo -- /bin/sh ./libtool --mode=link gcc -g -O2 -o libshp.la -rpath /usr/local/lib -version-info 1:1:0 shpopen.lo shptree.lo dbfopen.lo -+ /bin/sh ./libtool --mode=compile $(CC) -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. -I. $(CFLAGS) $(LINKOPTS) -c safileio.c -+ rm -f .libs/safileio.lo -+ $(CC) -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. $(CFLAGS) $(LINKOPTS) -c -fPIC -DPIC safileio.c -o .libs/safileio.lo -+ $(CC) -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. $(CFLAGS) $(LINKOPTS) -c safileio.c -o safileio.o >/dev/null 2>&1 -+ mv -f .libs/safileio.lo safileio.lo -+ /bin/sh ./libtool --mode=link $(CC) $(CFLAGS) $(LINKOPTS) -o libshp.la -rpath $(libdir) -version-info 1:1:0 shpopen.lo shptree.lo dbfopen.lo safileio.lo - rm -fr .libs/libshp.la .libs/libshp.* .libs/libshp.* - rm -fr .libs/libshp.lax - mkdir .libs/libshp.lax -- $(LD) -G -h libshp.so.1 -o .libs/libshp.so.$(LIBSHP_VERSION) shpopen.lo shptree.lo dbfopen.lo -lc -+ $(LD) -G -h libshp.so.1 -o .libs/libshp.so.$(LIBSHP_VERSION) shpopen.lo shptree.lo dbfopen.lo safileio.lo -lc - - (cd .libs && rm -f libshp.so.1 && ln -s libshp.so.$(LIBSHP_VERSION) libshp.so.1) - (cd .libs && rm -f libshp.so && ln -s libshp.so.$(LIBSHP_VERSION) libshp.so) -@@ -136,15 +148,21 @@ - - lib_install: - cp .libs/libshp.la .libs/libshp.lai -- /bin/sh ./mkinstalldirs /usr/local/lib -- /bin/sh ./libtool --mode=install $(INSTALL) -c libshp.la /usr/local/lib/libshp.la -- $(INSTALL) -c .libs/libshp.so.$(LIBSHP_VERSION) /usr/local/lib/libshp.so.$(LIBSHP_VERSION) -- (cd /usr/local/lib && rm -f libshp.so.1 && ln -s libshp.so.$(LIBSHP_VERSION) libshp.so.1) -- (cd /usr/local/lib && rm -f libshp.so && ln -s libshp.so.$(LIBSHP_VERSION) libshp.so) -- chmod +x /usr/local/lib/libshp.so.$(LIBSHP_VERSION) -- $(INSTALL) -c .libs/libshp.la /usr/local/lib/libshp.la -- $(INSTALL) -c .libs/libshp.a /usr/local/lib/libshp.a -- ranlib /usr/local/lib/libshp.a -- chmod 644 /usr/local/lib/libshp.a -- /bin/sh ./mkinstalldirs /usr/local/include/libshp -- $(INSTALL) -c -m 644 shapefil.h /usr/local/include/libshp/shapefil.h -+ /bin/sh ./mkinstalldirs $(libdir) -+ /bin/sh ./libtool --mode=install $(INSTALL) -c libshp.la $(libdir)/libshp.la -+ $(INSTALL) -c .libs/libshp.so.$(LIBSHP_VERSION) $(libdir)/libshp.so.$(LIBSHP_VERSION) -+ (cd $(libdir) && rm -f libshp.so.1 && ln -s libshp.so.$(LIBSHP_VERSION) libshp.so.1) -+ (cd $(libdir) && rm -f libshp.so && ln -s libshp.so.$(LIBSHP_VERSION) libshp.so) -+ chmod +x $(libdir)/libshp.so.$(LIBSHP_VERSION) -+ $(INSTALL) -c .libs/libshp.la $(libdir)/libshp.la -+ $(INSTALL) -c .libs/libshp.a $(libdir)/libshp.a -+ ranlib $(libdir)/libshp.a -+ chmod 644 $(libdir)/libshp.a -+ /bin/sh ./mkinstalldirs $(includedir)/libshp -+ $(INSTALL) -c -m 644 shapefil.h $(includedir)/libshp/shapefil.h -+ -+bin_install: all -+ mkdir -p $(bindir) -+ install dbfadd dbfcreate dbfdump shpadd shpcreate shpdump shptest $(bindir)/ -+ -+install: bin_install lib_install diff --git a/shapelib-1.2.10-Makefile2.patch b/shapelib-1.2.10-Makefile2.patch deleted file mode 100644 index bcf98cc..0000000 --- a/shapelib-1.2.10-Makefile2.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -Naur shapelib-1.2.10/contrib/Makefile shapelib-1.2.10-mod/contrib/Makefile ---- shapelib-1.2.10/contrib/Makefile 2010-01-04 06:08:02.000000000 +0200 -+++ shapelib-1.2.10-mod/contrib/Makefile 2010-02-16 10:18:48.000000000 +0200 -@@ -32,7 +32,7 @@ - shpdata: shpdata.c $(SHPGOBJ) - $(CC) $(CFLAGS) shpdata.c ${SHPOBJ} $(LINKOPT) $(GEOOBJ) -o shpdata - --shpinfo: shpinfo.c $(SHPOBJ) -+shpinfo: shpinfo.c $(SHPGOBJ) - $(CC) $(CFLAGS) shpinfo.c ${SHPOBJ} $(LINKOPT) $(GEOOBJ) -o shpinfo - - shpfix: shpfix.c $(SHPOBJ) -@@ -64,3 +64,7 @@ - - testproj: - tests/shpproj.sh -+ -+install: all -+ install dbfcat dbfinfo shpcat shpcentrd shpdata shpdxf shpfix shpinfo shpwkb shpproj \ -+ $(bindir) diff --git a/shapelib-1.2.10-endian.patch b/shapelib-1.2.10-endian.patch deleted file mode 100644 index fd8892f..0000000 --- a/shapelib-1.2.10-endian.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- shapelib-1.2.10/contrib/my_nan.h.orig 2005-02-13 12:04:41.484914852 +0000 -+++ shapelib-1.2.10/contrib/my_nan.h 2005-02-13 12:07:03.306704589 +0000 -@@ -21,16 +21,18 @@ - - #define _GNU_NAN_H 1 - -+#include - - /* hacked to define NAN on Solaris 2.7 if it wasn't defined */ - - /* IEEE Not A Number. */ - --#ifdef _BIG_ENDIAN -+#if __BYTE_ORDER == __BIG_ENDIAN - # define __nan_bytes { 0x7f, 0xf8, 0, 0, 0, 0, 0, 0 } --#endif --#ifdef _LITTLE_ENDIAN -+#elif __BYTE_ORDER == __LITTLE_ENDIAN - # define __nan_bytes { 0, 0, 0, 0, 0, 0, 0xf8, 0x7f } -+#else -+#error No endianness? - #endif - - #ifdef __GNUC__ diff --git a/shapelib-1.3.0b1-Makefile.patch b/shapelib-1.3.0b1-Makefile.patch deleted file mode 100644 index 61e0a57..0000000 --- a/shapelib-1.3.0b1-Makefile.patch +++ /dev/null @@ -1,98 +0,0 @@ -diff -Naur shapelib-1.2.10/Makefile shapelib-1.2.10-mod/Makefile ---- shapelib-1.2.10/Makefile 2007-12-13 22:27:13.000000000 +0200 -+++ shapelib-1.2.10-mod/Makefile 2010-02-19 09:59:18.000000000 +0200 -@@ -6,6 +6,13 @@ - INSTALL = /usr/bin/install - LD = /usr/bin/ld - #CC = g++ -+bindir = /usr/local/bin -+libdir = /usr/local/lib -+includedir = /usr/local/include -+ -+CC = gcc -+CFLAGS = -g -+ - - default: all - -@@ -103,29 +110,34 @@ - # The following is contributed by Jan-Oliver Wagner, and should allow for - # creating shared libraries on most platforms with gcc, and libtool installed. - --SHPLIB_VERSION=1.2.9 -+SHPLIB_VERSION=1.3.1 - LIBSHP_VERSION=1.0.1 # still once to be changed manually (see for 1:1:0), sorry - - lib: -- /bin/sh ./libtool --mode=compile gcc -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. -I. -I/usr/local/include -g -O2 -c shpopen.c -- gcc -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. -I. -I/usr/local/include -g -O2 -c -fPIC -DPIC shpopen.c -o .libs/shpopen.lo -- gcc -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. -I. -I/usr/local/include -g -O2 -c shpopen.c -o shpopen.o >/dev/null 2>&1 -+ /bin/sh ./libtool --mode=compile $(CC) -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. $(CFLAGS) $(LINKOPTS) -c shpopen.c -+ $(CC) -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. $(CFLAGS) $(LINKOPTS) -c -fPIC -DPIC shpopen.c -o .libs/shpopen.lo -+ $(CC) -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. $(CFLAGS) $(LINKOPTS) -c shpopen.c -o shpopen.o >/dev/null 2>&1 - mv -f .libs/shpopen.lo shpopen.lo -- /bin/sh ./libtool --mode=compile gcc -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. -I. -I/usr/local/include -g -O2 -c shptree.c -+ /bin/sh ./libtool --mode=compile $(CC) -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. $(CFLAGS) $(LINKOPTS) -c shptree.c - rm -f .libs/shptree.lo -- gcc -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. -I. -I/usr/local/include -g -O2 -c -fPIC -DPIC shptree.c -o .libs/shptree.lo -- gcc -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. -I. -I/usr/local/include -g -O2 -c shptree.c -o shptree.o >/dev/null 2>&1 -+ $(CC) -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. $(CFLAGS) $(LINKOPTS) -c -fPIC -DPIC shptree.c -o .libs/shptree.lo -+ $(CC) -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. $(CFLAGS) $(LINKOPTS) -c shptree.c -o shptree.o >/dev/null 2>&1 - mv -f .libs/shptree.lo shptree.lo -- /bin/sh ./libtool --mode=compile gcc -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. -I. -I/usr/local/include -g -O2 -c dbfopen.c -+ /bin/sh ./libtool --mode=compile $(CC) -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. $(CFLAGS) $(LINKOPTS) -c dbfopen.c - rm -f .libs/dbfopen.lo -- gcc -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. -I. -I/usr/local/include -g -O2 -c -fPIC -DPIC dbfopen.c -o .libs/dbfopen.lo -- gcc -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. -I. -I/usr/local/include -g -O2 -c dbfopen.c -o dbfopen.o >/dev/null 2>&1 -+ $(CC) -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. $(CFLAGS) $(LINKOPTS) -c -fPIC -DPIC dbfopen.c -o .libs/dbfopen.lo -+ $(CC) -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. $(CFLAGS) $(LINKOPTS) -c dbfopen.c -o dbfopen.o >/dev/null 2>&1 - mv -f .libs/dbfopen.lo dbfopen.lo -- /bin/sh ./libtool --mode=link gcc -g -O2 -o libshp.la -rpath /usr/local/lib -version-info 1:1:0 shpopen.lo shptree.lo dbfopen.lo -+ /bin/sh ./libtool --mode=compile $(CC) -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. -I. $(CFLAGS) $(LINKOPTS) -c safileio.c -+ rm -f .libs/safileio.lo -+ $(CC) -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. $(CFLAGS) $(LINKOPTS) -c -fPIC -DPIC safileio.c -o .libs/safileio.lo -+ $(CC) -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1 -I. $(CFLAGS) $(LINKOPTS) -c safileio.c -o safileio.o >/dev/null 2>&1 -+ mv -f .libs/safileio.lo safileio.lo -+ /bin/sh ./libtool --mode=link $(CC) $(CFLAGS) $(LINKOPTS) -o libshp.la -rpath $(libdir) -version-info 1:1:0 shpopen.lo shptree.lo dbfopen.lo safileio.lo - rm -fr .libs/libshp.la .libs/libshp.* .libs/libshp.* - rm -fr .libs/libshp.lax - mkdir .libs/libshp.lax -- $(LD) -G -h libshp.so.1 -o .libs/libshp.so.$(LIBSHP_VERSION) shpopen.lo shptree.lo dbfopen.lo -lc -+ $(LD) -G -h libshp.so.1 -o .libs/libshp.so.$(LIBSHP_VERSION) shpopen.lo shptree.lo dbfopen.lo safileio.lo -lc - - (cd .libs && rm -f libshp.so.1 && ln -s libshp.so.$(LIBSHP_VERSION) libshp.so.1) - (cd .libs && rm -f libshp.so && ln -s libshp.so.$(LIBSHP_VERSION) libshp.so) -@@ -136,15 +148,21 @@ - - lib_install: - cp .libs/libshp.la .libs/libshp.lai -- /bin/sh ./mkinstalldirs /usr/local/lib -- /bin/sh ./libtool --mode=install $(INSTALL) -c libshp.la /usr/local/lib/libshp.la -- $(INSTALL) -c .libs/libshp.so.$(LIBSHP_VERSION) /usr/local/lib/libshp.so.$(LIBSHP_VERSION) -- (cd /usr/local/lib && rm -f libshp.so.1 && ln -s libshp.so.$(LIBSHP_VERSION) libshp.so.1) -- (cd /usr/local/lib && rm -f libshp.so && ln -s libshp.so.$(LIBSHP_VERSION) libshp.so) -- chmod +x /usr/local/lib/libshp.so.$(LIBSHP_VERSION) -- $(INSTALL) -c .libs/libshp.la /usr/local/lib/libshp.la -- $(INSTALL) -c .libs/libshp.a /usr/local/lib/libshp.a -- ranlib /usr/local/lib/libshp.a -- chmod 644 /usr/local/lib/libshp.a -- /bin/sh ./mkinstalldirs /usr/local/include/libshp -- $(INSTALL) -c -m 644 shapefil.h /usr/local/include/libshp/shapefil.h -+ /bin/sh ./mkinstalldirs $(libdir) -+ /bin/sh ./libtool --mode=install $(INSTALL) -c libshp.la $(libdir)/libshp.la -+ $(INSTALL) -c .libs/libshp.so.$(LIBSHP_VERSION) $(libdir)/libshp.so.$(LIBSHP_VERSION) -+ (cd $(libdir) && rm -f libshp.so.1 && ln -s libshp.so.$(LIBSHP_VERSION) libshp.so.1) -+ (cd $(libdir) && rm -f libshp.so && ln -s libshp.so.$(LIBSHP_VERSION) libshp.so) -+ chmod +x $(libdir)/libshp.so.$(LIBSHP_VERSION) -+ $(INSTALL) -c .libs/libshp.la $(libdir)/libshp.la -+ $(INSTALL) -c .libs/libshp.a $(libdir)/libshp.a -+ ranlib $(libdir)/libshp.a -+ chmod 644 $(libdir)/libshp.a -+ /bin/sh ./mkinstalldirs $(includedir)/libshp -+ $(INSTALL) -c -m 644 shapefil.h $(includedir)/libshp/shapefil.h -+ -+bin_install: all -+ mkdir -p $(bindir) -+ install dbfadd dbfcreate dbfdump shpadd shpcreate shpdump shptest $(bindir)/ -+ -+install: bin_install lib_install diff --git a/shapelib-1.3.0b1-buildid.patch b/shapelib-1.3.0b1-buildid.patch deleted file mode 100644 index 017dba0..0000000 --- a/shapelib-1.3.0b1-buildid.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- shapelib-1.3.0b1/Makefile 2010-03-09 08:41:01.000000000 +0200 -+++ shapelib-1.3.0b1.mod/Makefile 2010-03-09 08:41:29.000000000 +0200 -@@ -12,6 +12,7 @@ - - CC = gcc - CFLAGS = -g -+LDFLAGS = --build-id - - - default: all -@@ -137,7 +138,7 @@ - rm -fr .libs/libshp.la .libs/libshp.* .libs/libshp.* - rm -fr .libs/libshp.lax - mkdir .libs/libshp.lax -- $(LD) -G -h libshp.so.1 -o .libs/libshp.so.$(LIBSHP_VERSION) shpopen.lo shptree.lo dbfopen.lo safileio.lo -lc -+ $(LD) $(LDFLAGS) -G -h libshp.so.1 -o .libs/libshp.so.$(LIBSHP_VERSION) shpopen.lo shptree.lo dbfopen.lo safileio.lo -lc - - (cd .libs && rm -f libshp.so.1 && ln -s libshp.so.$(LIBSHP_VERSION) libshp.so.1) - (cd .libs && rm -f libshp.so && ln -s libshp.so.$(LIBSHP_VERSION) libshp.so) diff --git a/shapelib-1.3.0b2-Makefile2.patch b/shapelib-1.3.0b2-Makefile2.patch deleted file mode 100644 index 297c5b2..0000000 --- a/shapelib-1.3.0b2-Makefile2.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff -up shapelib-1.3.0b2/contrib/Makefile.makefile2 shapelib-1.3.0b2/contrib/Makefile ---- shapelib-1.3.0b2/contrib/Makefile.makefile2 2010-01-04 05:08:02.000000000 +0100 -+++ shapelib-1.3.0b2/contrib/Makefile 2011-04-21 18:10:35.000000000 +0200 -@@ -2,10 +2,7 @@ - #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 -+CFLAGS = -g -I.. -I$(HOME)/bld/include -DPROJ4 -DDEBUG -DDEBUG2 - - SHPOBJ = ../shpopen.o ../dbfopen.o ../safileio.o - -@@ -32,7 +29,7 @@ shpcentrd: shpcentrd.c $(SHPGOBJ) - shpdata: shpdata.c $(SHPGOBJ) - $(CC) $(CFLAGS) shpdata.c ${SHPOBJ} $(LINKOPT) $(GEOOBJ) -o shpdata - --shpinfo: shpinfo.c $(SHPOBJ) -+shpinfo: shpinfo.c $(SHPGOBJ) - $(CC) $(CFLAGS) shpinfo.c ${SHPOBJ} $(LINKOPT) $(GEOOBJ) -o shpinfo - - shpfix: shpfix.c $(SHPOBJ) -@@ -64,3 +61,7 @@ check: testproj - - testproj: - tests/shpproj.sh -+ -+install: all -+ install dbfcat dbfinfo shpcat shpcentrd shpdata shpdxf shpfix shpinfo shpwkb shpproj \ -+ $(bindir) diff --git a/shapelib.spec b/shapelib.spec index 0f1881e..7304319 100644 --- a/shapelib.spec +++ b/shapelib.spec @@ -1,85 +1,81 @@ -# This RPM will possibly fail on PowerPCs, but I am ignoring this. -Summary: API in "C" for Shapefile handling -Name: shapelib -Version: 1.3.0b2 -Release: 11.1%{?dist} +Name: shapelib +# Note: the f stands for "final". Since the NVR for 1.3.0b2 was 1.3.0b2-x and not 1.3.0-0.x.b2, +# and since for RPM 1.3.0 < 1.3.0b2, this is the only way to specifiy that 1.3.0 > 1.3.0b2 +# without bumping the epoch. +Version: 1.3.0f +Release: 1%{?dist} +Summary: C library for handling ESRI Shapefiles # No version of the LGPL is given. -License: LGPLv2+ or MIT -URL: http://shapelib.maptools.org/ -Source: http://download.osgeo.org/shapelib/%{name}-%{version}.tar.gz -Patch0: shapelib-1.3.0b1-Makefile.patch -Patch1: shapelib-1.3.0b2-Makefile2.patch -Patch2: shapelib-1.2.10-endian.patch -Patch3: shapelib-1.3.0b1-buildid.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -Group: Development/Libraries +License: LGPLv2+ or MIT +URL: http://shapelib.maptools.org/ +Source: http://download.osgeo.org/shapelib/%{name}-1.3.0.tar.gz +# This patch replaces the handmade makefiles with autotools scripts. This patch was generated by +# git clone https://github.com/manisandro/shapelib.git +# cd shapelib +# git checkout autotools +# git diff master..autotools > shapelib_autotools.patch +# +# Upstream is notified about these modifications: http://bugzilla.maptools.org/show_bug.cgi?id=2447 +Patch0: shapelib_autotools.patch + +BuildRequires: autoconf automake libtool BuildRequires: proj-devel >= 4.4.1 -%package devel -Summary: Development files for shapelib -Group: Development/Libraries -Requires: %{name} = %{version}-%{release} - %description The Shapefile C Library provides the ability to write simple C programs for reading, writing and updating (to a limited extent) ESRI Shapefiles, and the associated attribute file (.dbf). +%package devel +Summary: Development files for shapelib +Requires: %{name}%{?_isa} = %{version}-%{release} + %description devel This package contains libshp and the appropriate header files. +%package tools +Summary: shapelib utility programs +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description tools +This package contains various utility programs distributed with shapelib. + %prep -%setup -q -n %{name}-%{version} -%patch0 -p1 -b .makefile -%patch1 -p1 -b .makefile2 -#patch2 -p1 -b .endian -%patch3 -p1 -b .buildid -sed -i "s/\r//g" README -chmod -x README +%setup -q -n %{name}-1.3.0 +%patch0 -p1 %build -make %{?_smp_mflags} libdir=%{_libdir} CFLAGS="$RPM_OPT_FLAGS" lib -make %{?_smp_mflags} libdir=%{_libdir} CFLAGS="$RPM_OPT_FLAGS" all - -cd contrib -make %{?_smp_mflags} libdir=%{_libdir} EXTRACFLAGS="$RPM_OPT_FLAGS" +NOCONFIGURE=1 sh ./autogen.sh +%configure --disable-static +make %{?_smp_mflags} %install -rm -rf $RPM_BUILD_ROOT +%make_install -%makeinstall -find %{buildroot} -name \*\.a -print | xargs rm -f -find %{buildroot} -name \*\.la -print | xargs rm -f - -cd contrib -%makeinstall - -%clean -rm -rf $RPM_BUILD_ROOT +# Remove static libraries +find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files -%defattr(-,root,root,-) -%{_bindir}/* -%{_libdir}/*.so.* - -%doc LICENSE.LGPL README README.tree web/*.html -%doc contrib/doc/shpproj.txt stream1.sh stream1.out stream2.sh -%doc stream2.out makeshape.sh stream3.out ChangeLog +%doc COPYING README README.tree ChangeLog web/*.html +%{_libdir}/libshp.so.* %files devel -%defattr(-,root,root,-) -%doc LICENSE.LGPL README -%{_includedir}/* -%{_libdir}/*.so +%{_includedir}/shapefil.h +%{_libdir}/libshp.so +%{_libdir}/pkgconfig/%{name}.pc + +%files tools +%doc contrib/doc/ +%{_bindir}/* %changelog -* Sun Aug 04 2013 Fedora Release Engineering - 1.3.0b2-11.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild +* Mon Aug 05 2013 Sandro Mani - 1.3.0f-1 +- Update to 1.3.0 final * Thu Feb 14 2013 Fedora Release Engineering - 1.3.0b2-10.1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild @@ -156,7 +152,7 @@ rm -rf $RPM_BUILD_ROOT * Mon Apr 11 2005 Michael Schwendt - 1.2.10-8 - Fix "invalid lvalue in assignment" for GCC4. -* Fri Apr 7 2005 Michael Schwendt +* Fri Apr 8 2005 Michael Schwendt - rebuilt * Sun Feb 13 2005 David Woodhouse 0:1.2.10-6 diff --git a/shapelib_autotools.patch b/shapelib_autotools.patch new file mode 100644 index 0000000..a4c8d74 --- /dev/null +++ b/shapelib_autotools.patch @@ -0,0 +1,6396 @@ +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 diff --git a/sources b/sources index a1782a0..32c199e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -708ea578bc299dcd9f723569d12bee8d shapelib-1.3.0b2.tar.gz +2ff7d0b21d4b7506b452524492795f77 shapelib-1.3.0.tar.gz